2011-02-04 5 views
0
public static IEnumerable<T> Get<T>(this IEnumerable<T> source, Func<T, bool> predicate) 
    { 
     foreach (T item in source) 
     { 
      if (predicate(item)) 
       yield return item; 
     } 
    } 

答えて

0

public static IEnumerable<T> Get<T> 
    (IEnumerable<T> source, Func<T, bool> predicate) 
{ 
    var list = new List<T>(); 

    foreach (T item in source) 
    { 
     if (predicate(item)) 
     { 
      list.Add(item); 
     } 
    } 

    return list; 
} 
+0

は申し訳ありませんが、私は明確ではありませんでした。私はその中に2つのクラスのような組み合わせを渡すことによってアイテムを返すExtensionメソッドを見ています。したがって、Visual Studioでは、1つのライナーコードが結果を出力します。私はそれが拡張メソッドである "this"のためだと思う。私はちょうど興味がある。この2つのクラスは、ここで長い方法でどのように見えるでしょうか? – nellbryant

関連する問題