C# List.Trouver la méthode - comment puis-je passer une valeur dans le prédicat?

Je ne peux pas travailler sur la façon de faire un "rechercher" sur une Liste que j'ai basé sur l'utilisation d'une valeur que je vais passer au moment de l'exécution. Si vous voyez ci-dessous mon code, je veux être en mesure de trouver la CustomClass dans la Liste pour laquelle il est Chemin paramètre est égal à X, où X sera défini au moment de l'exécution.

Toutes les idées comment faire une telle trouver sur une Liste? Ou n'est-ce pas possible sans l'écriture d'un itérateur et de faire le rechercher manuellement? Dans quel cas peut-être, il est l'un des principaux ed collection je devrais regarder en utilisant à la place?

   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. Je dois avouer que je n'ai pas tout à fait suivi le prédicat de choses dans le doco à http://msdn.microsoft.com/en-us/library/x0b5b5bc.aspx

OriginalL'auteur Greg | 2009-10-07