أفضل طريقة للوصول إلى عنصر في نوع غير قاطع

StackOverflow https://stackoverflow.com/questions/20353350

  •  25-08-2022
  •  | 
  •  

سؤال

اللغة التي أستخدمها هي C#.

لنفترض أن لدينا عملية غير قابلة للتطبيق ، والتي هي نتيجة لاستعلام LINQ. T هو نوع مجهول. ما هي أفضل طريقة إذا أردنا الوصول إلى عناصر هذا النوع.

أعتقد أن هناك طريقتان.

1) تحويل ienumerable إلى القائمة ثم الوصول إلى العناصر.

List<T> list = result.ToList();
for(int rowIndex=0; rowIndex<list.Count; rowIndex++)
{
    double x = list[rowIndex].val;
}

2)

for(int rowIndex=0; rowIndex<result.Count(); rowIndex++)
{
    double x = result.ElementAt(rowIndex).val;
} 

السبب في أنني أفكر في شيء ما أعلاه هو أنه باستثناء الوصول إلى عناصر Ienumerable ، أحتاج إلى مؤشراتهم. بمعنى آخر ، إذا كان العنصر هو الأول ، والثاني وما إلى ذلك.

شكرا مقدما على أي مساعدة !

هل كانت مفيدة؟

المحلول

لا تحتاج إلى إنشاء مجموعة ، استخدم int المتغير الذي هو 0 ويزيده في أ foreach. ثم لديك الفهرس والعنصر.

int index = 0;
foreach(var x in result)
{
    // x is the element and index the current index
    Console.WriteLine("Val:{0} Index:{1}", x.val, index);
    index ++;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top