সম্পাদনা: আপনি যদি কেবল একটি ব্যবহার করেন List<>এবং আপনার কেবল সূচকের প্রয়োজন হয় তবে List.FindIndexতা অবশ্যই সর্বোত্তম পন্থা। আমি এই উত্তরটি এখানে তাদের জন্য ছেড়ে দেব যাদের আলাদা কিছু প্রয়োজন (যেমন কোনওর উপরে IEnumerable<>)।
Selectযে ওভারলোডটি প্রিডিকেটে একটি সূচক নেয় সেগুলি ব্যবহার করুন , সুতরাং আপনি আপনার তালিকাটিকে (সূচক, মান) জোড়ায় রূপান্তরিত করুন:
var pair = myList.Select((Value, Index) => new { Value, Index })
.Single(p => p.Value.Prop == oProp);
তারপর:
Console.WriteLine("Index:{0}; Value: {1}", pair.Index, pair.Value);
অথবা যদি আপনি কেবল সূচক চান এবং আপনি এটি একাধিক স্থানে ব্যবহার করছেন তবে আপনি সহজেই নিজের এক্সটেনশন পদ্ধতিটি লিখতে পারতেন যা পছন্দ মতো ছিল Where, তবে মূল আইটেমগুলি ফেরত না দিয়ে, সেই আইটেমগুলির সূচকগুলি প্রত্যাবর্তনের সাথে মেলে।
int index?