Ist es möglich, ListT.Contains (...) zu verwenden?

7

Ich versuche, eine generische Cache-Klasse zu erstellen, die eine Liste von Objekten enthalten wird, und wird eine Methode verfügbar machen, die anhand der Id-Eigenschaft prüft, ob eine Instanz eines Objekts bereits zwischengespeichert ist:

%Vor%

Ich erhalte beim Befehl Contains() einen Compilerfehler und sage:

  

Der Lambda-Ausdruck kann nicht in den Typ 'T' konvertiert werden, da es sich nicht um einen Delegattyp handelt

Wie kann ich mein Ziel erreichen?

    
Liel 06.06.2013, 22:00
quelle

2 Antworten

18

Sie können Linq verwenden:

%Vor%

oder List.Exists :

%Vor%     
Tim Schmelter 06.06.2013, 22:02
quelle
4

Verwenden Sie die LINQ-Funktion Any anstelle von Contains . Für List<T> ist die Methode Contains so definiert, dass sie ein T übernimmt.

    
Michael Gunter 06.06.2013 22:03
quelle

Tags und Links