Bir iş arkadaşının yazdığı bir C# kodunda bir Listeyi yinelemek için for döngüsünü kullandı ve yorumdan çıktı, "Her şey için kullanmıyordum çünkü her zaman sırayla yinelemedim. Microsoft'un ne yapacağını kim bilir." Korkuyor.NET foreach ifadesinin, bir koleksiyonun oluşturulduğu sırayla yinelenmesi garanti edilir mi?
foreach (var item in someList)
{
System.Diagnostics.Debug.WriteLine(item);
}
sanırım: bunun yerine
for (int i = 0; i < someList.Count; i++)
{
System.Diagnostics.Debug.WriteLine(someList[i]);
}
:
var someList = new List<string>();
someList.Add("one");
someList.Add("two");
someList.Add("three");
benim iş arkadaşınız böyle bir şey kullandı: Örneğin, böyle inşa Listesini olduğunu varsayalım öğeler koleksiyona eklendiklerinden farklı bir sırayla ortaya çıkabilir. Sanırım biraz paranoyak, ama teknik olarak, belgelerin koleksiyonunun yinelenen sırasını belirtmediğini. Bir foreach ifadesinin bir dizi veya koleksiyon nesnesini en düşük sınırdan en yükseğe doğru herhangi bir sırada geçirmesi mümkün mü?
+1 Hayır, Skeet efekti daha az oy alıyor. –
Skeet etkisinin üstesinden gelip gelemeyeceğimi görmek için sınama. Parmaklar geçti. –
Şu anda kendi notumdan dolayı benden bir tane daha aldınız. Ben demek istediğim Skeet etkisi değil;) –