Haben wir eine "Contains" -Methode in IEnumerable?

7

Ich habe eine Klasse in meinem Code, die bereits von IEnumerable abgeleitet ist. Ich habe mich gefragt, ob es eine Möglichkeit gibt, dass ich eine "Contains" -Methode in ihren Instanzen verwenden kann, um nach etwas in dieser Liste zu suchen?

    
Bohn 07.12.2012, 16:41
quelle

3 Antworten

16

Implementieren Sie wirklich das nicht-generische IEnumerable oder das generische IEnumerable<T> ? Wenn Sie den generischen implementieren können, wird Ihr Leben viel einfacher - wie dann können Sie LINQ to Objekte , die tatsächlich eine Contains haben Erweiterungsmethode.

Andernfalls könnten Sie möglicherweise von nicht generisch zu generisch mit Cast oder OfType , z. B.

, konvertieren %Vor%

Es wäre schöner, wenn Sie nur die generische Schnittstelle implementiert hätten, um damit zu beginnen:)

    
Jon Skeet 07.12.2012, 16:42
quelle
14

Nein, es gibt keine solche Methode in der IEnumerable<T> -Schnittstelle. Es gibt ein extension method , das Sie jedoch verwenden könnten.

> %Vor%

und dann:

%Vor%     
Darin Dimitrov 07.12.2012 16:42
quelle
0
%Vor%

Wenn Sie möchten, können Sie einen benutzerdefinierten Vergleicher als Parameter für die Erweiterungsmethode hinzufügen Enthält

    
Smagin Alexey 18.04.2017 10:53
quelle

Tags und Links