2009-06-11 12 views
0

Ich möchte eine einzelne Spalte Wert mit Linq zurückgeben und nicht sicher, ob es eine Möglichkeit gibt, eine schnelle einfache Rückkehr zu tun. Ich habe einen Codeabschnitt kommentiert, von dem ich weiß, dass er den Wert nicht zurückgibt, und wenn ich durch die Auflistung aufzählen kann, kann ich den Wert bekommen, frage mich aber, ob es einen besseren Weg gibt.Return single column mit Linq

Ich verstehe, dass Linq Set basiert ist und dass es keine Vorkenntnisse bedeutet, dass das Ergebnis mit einem einzigen Mitglied festgelegt wird.

Antwort

6

results.FirstOrDefault();

Auf diese Weise wird keine Ausnahme, FYI werfen. Wo wie @Mehrdad wird.

6
return results.First().ToString(); 

Andere mögliche Varianten:

.First() das erste Element zurück und löst eine Ausnahme, wenn kein Element vorhanden ist. Es ignoriert alle anderen Elemente.

.FirstOrDefault() gibt das erste Element zurück, wenn vorhanden, und gibt den Standardwert des Ergebnistyps zurück, wenn nichts vorhanden ist. Es ignoriert alle anderen Elemente.

.Single() das einzige Element zurückgibt, wenn die Sammlung genau ein Element enthält und wirft eine ansonsten Ausnahme.

.SingleOrDefault() ist wie.Single() aber der Standardwert des Ergebnistypen liefert stattdessen eine Ausnahme zu werfen.

+0

Wenn c.FirstName ein String ist, brauchen Sie den ToString nicht. –

+0

Natürlich. Dies wurde im kommentierten Code erwähnt und ich replizierte es für diese Angelegenheit. –