kafa karıştıran Aşağıdaki kod örneği inceleyin kod örneği, TempList listesindeki nesneleri DEĞİŞTİRMEZ.List.ForEach bana
Bu gönderi nedenini anlamaktan daha fazlası ...? Ya da en azından nedenini anlamak için biraz yardım alınız ...
kafa karıştıran Aşağıdaki kod örneği inceleyin kod örneği, TempList listesindeki nesneleri DEĞİŞTİRMEZ.List.ForEach bana
Bu gönderi nedenini anlamaktan daha fazlası ...? Ya da en azından nedenini anlamak için biraz yardım alınız ...
Sub
yerine Function
kullandınız. Bir Function
bir değer döndürdüğünden, derleyici eşittir işaretinin (=) bir ödev değil karşılaştırma olarak kullanıldığını düşünür. Eğer Sub
için Function
değiştirirseniz, derleyici doğru eşittir bir ödev olarak imzalamak ele alacak: Bir satırlı lambda olsaydı
TempList.ForEach(Sub(obj) obj.Deleted = True)
;
TempList.ForEach(Function(obj)
obj.Deleted = True
Return True
End Function)
Açıkçası, dönüş değeri kullanılamaz çünkü bir Sub
kullanmalıdır böylece hiçbir anlamı, bir Function
kullanmayı kolaylaştırır ForEach yöntemi için: Bu sorununuz olmayacaktı.
Ahhh, şimdi mükemmel bir anlam ifade ediyor, bunun için çok teşekkürler. Hepsi hala benim için oldukça yeni :-) –
İlk başta, ne olduğunu bilmiyordum ;-) –
Bu şeyin ne kadar güçlü olduğuna hayran kaldım, kendimi bunu da öğrenmeye zorluyorum. LINQ. –