実行時に渡す値の使用に基づいて、リストで「検索」を行う方法がわかりません。以下のコードが表示されている場合は、Path パラメーターが X に等しい List 内の CustomClass を見つけられるようにしたいと考えています。ここで、X は実行時に定義されます。
リストでそのような検索を行う方法はありますか? それとも、イテレータを作成して検索を手動で行わないと、これは不可能ですか? その場合、代わりに使用することを検討すべきキー付きコレクションがあるでしょうか?
private List<CustomClass> files;
public void someMethod()
{
Uri u= new Uri(www.test.com);
CustomClass cc = this.files.find( matchesUri(u) ); // WON'T LET ME DO THIS
}
private static bool matchesUri(List<CustomClass> cc, Uri _u)
{
return cc.Path == _u; }
public class CustomClass
{
private Uri path;
public Uri Path
{
get { return this.path; }
set { this.path = value; }
}
}
PS。私は、 http://msdn.microsoft.com/en-us/library/x0b5b5bc.aspxの doco の述語に完全に従っていないことを認めなければなりません。