2010-03-25 26 views

cevap

12

BCL varsayılan olarak kullanılabilir bir yöntem yoktur ama (argüman kısaca geçilmiştir Kontrolden)

public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action) { 
    foreach (var cur in enumerable) { 
    action(cur); 
    } 
} 

Kullanım örneği aynı davranışa sahip bir uzantısı yöntem yazmak yalındır var

ObservableCollection<Student> col = ...; 
col.ForEach(x => Console.WriteLine(x.Name)); 
+0

Hızlı yanıtınız için teşekkürler, bu harika çalışıyor. ama bir şey bilmek nasıl bir şey olarak çalıştığını bilmek isterim? predicated: x => Console.WriteLine (x.Name) –

+0

daha önce böyle kullanıyordum, durumları.ToList(). ForEach (x => x.IsHidden = true); ve bence sadece bellek tüketiyordu. –

4
public static class EnumerableExtensions 
{ 
    public static void ForEach<T>(this IEnumerable<T> enumerable, Action<T> action) 
    { 
     foreach (var e in enumerable) 
     { 
      action(e); 
     } 
    } 
} 
0
observableCollection.ToList().ForEach(item => /* do something */); 
İlgili konular