C# wie findet man einen Wert in einer Liste, Sammlung

Habe ich eine Liste diese Liste enthält eine Sammlung der folgenden Klasse

public class MyFile
{
    public string FileName
    {
        get;
        set;
    }

    public int Position
    {
        get;
        set;
    }
}

So ofc die definition Liste wird wie folgt Aussehen:

private List<MyFile> MyFiles = new List<MyFile>();

Kann ich auch auf die Suche nach der Sammlung mit:

MyFile tmpFile = MyFiles.Find(delegate(MyFile item) 
   { return item.FileName == fileName; });

So weit gut Aussehen, außer das, was ich tun möchte, ist zurück, die MyFile, dass nicht nur der dem Dateinamen entspricht, der aber auch den höchsten Wert in Feld pos.

Also, wenn Sie die folgenden Elemente existieren in der Liste:

myDocument.doc|1
myDocument.doc|2
myDocument.doc|3
myPDF.pdf|1
myPDF.pdf|2
myPDF.pdf|3

ist und der Wert von fileName = "myDocument.doc" in meiner Methode finden, dann bin ich immer noch fehlenden Logik zurück myDocument.doc|3 dieser Artikel, weil diese den höchsten Wert der pos.

In meine SQL Abfrage wäre

select top 1 * from MyFiles 
where fileName = 'myDocument.doc' 
order by position desc;

Vielen Dank im Voraus.

  • Sind Sie mit .NET 3.5 oder eine frühere version?
  • mit 3.5, so dass keine Probleme gibt.
InformationsquelleAutor JL. | 2009-12-01
Schreibe einen Kommentar