私の方法は次のとおりです
IEnumerable<T> All(Func<T, bool> filter);
関数でFilterパラメーターを使用するにはどうすればよいですか?
そのような
listitems.All(l=> l.value == data);
つまり、プラメーターとして渡されるラムダ式
注:ここでlistitemはコレクションです...これはIEnumerableを実装したクラスから作成されます。つまり、リスト、配列、その他msdnで確認できます。
ドキュメントから、フィルターはタイプの1つのパラメーターを受け取りT
、を返す関数である必要があることがわかりますbool
。
したがって、このメソッドはコレクションのすべての要素に関数をAll
適用し、返された要素、またはそれらの行に沿った何かを返すと思います。filter
filter
true
もう1つのオプションは、コレクションをフィルターに対してテストし、すべての項目がフィルターに一致する場合にのみtrueを返すメソッドです。
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
次のモデルを持っている:
class Person {
public property Name {get; set;}
}
と次のようなコレクション:
List<Person> personRepo;
次のようにリストをフィルタリングできます。
var searchResults = personRepo.All(p => p.Name == "Frank Borland")