1

私の方法は次のとおりです

IEnumerable<T> All(Func<T, bool> filter);

関数でFilterパラメーターを使用するにはどうすればよいですか?

4

4 に答える 4

1

そのような

listitems.All(l=> l.value == data);

つまり、プラメーターとして渡されるラムダ式

:ここでlistitemはコレクションです...これはIEnumerableを実装したクラスから作成されます。つまり、リスト、配列、その他msdnで確認できます。

于 2013-01-17T06:38:10.997 に答える
1

ドキュメントから、フィルターはタイプの1つのパラメーターを受け取りT、を返す関数である必要があることがわかりますbool

したがって、このメソッドはコレクションのすべての要素に関数をAll適用し、返された要素、またはそれらの行に沿った何かを返すと思います。filterfiltertrue

もう1つのオプションは、コレクションをフィルターに対してテストし、すべての項目がフィルターに一致する場合にのみtrueを返すメソッドです。

于 2013-01-17T06:39:55.563 に答える
1
var arr = new[] { 1, 2, 3, 4 };
Func<int, bool> func = i => i > 0; // makes sure all numbers are greater than 0
bool b = arr.All(func); // returns true
于 2013-01-17T06:46:06.417 に答える
0

次のモデルを持っている:

    class Person {

        public property Name {get; set;}
    }

と次のようなコレクション:

    List<Person> personRepo;

次のようにリストをフィルタリングできます。

    var searchResults = personRepo.All(p => p.Name == "Frank Borland")
于 2013-01-17T06:47:50.160 に答える