2016-03-31 4 views
0

Ich habe eine List<Tuple<int, string>>. Ich möchte eine bool erhalten, die angibt, ob eine Übereinstimmung mit einem der Werte int vorliegt. So zum Beispiel:Wie kann ich eine Liste für Übereinstimmungen in der Elementeigenschaft abfragen?

{1, "Yada"}, {2, "ButtUgly"} kehrt false
{1, "Yada"}, {1, "ButtUgly"} kehrt true

Kann es getan werden?

+0

Ja, aber diese Frage geht 'Liste ' und ich habe eine 'Liste >'. – Drutten

+0

Es ist die gleiche Prämisse - Gruppe nach Ihrem Schlüsselwert und sehen Sie, wie viele Gruppen mehr als ein Element haben. –

+0

Ok cool, so funktioniert es – Drutten

Antwort

1

Ja, es durch die Gruppierung durchgeführt werden kann:

bool match = list.GroupBy(tuple => tuple.Item1, t => t).Any(group => group.Count() > 1); 
+0

Mein Retter in der C# Abgrund! – Drutten

1

Gerade Gruppe von diesem Wert und sehen, ob irgendwelche Gruppen mehr als ein Element haben:

bool hasDupes = 
    list.GroupBy(t => t.Item1) 
     .Any(g => g.Count() > 1) 
Verwandte Themen