c# - titel - title tag
Wie erhalte ich mit LINQ eine eindeutige, geordnete Liste von Namen aus einer DataTable? (5)
Probieren Sie Folgendes aus:
dataTable.Rows.Cast<DataRow>().select(dr => dr["Name"].ToString()).Distinct().OrderBy(name => name);
Ich habe eine
DataTable
mit einer
Name
.
Ich möchte eine Sammlung der eindeutigen Namen in alphabetischer Reihenfolge erstellen.
Die folgende Abfrage ignoriert die
order by-
Klausel.
var names =
(from DataRow dr in dataTable.Rows
orderby (string)dr["Name"]
select (string)dr["Name"]).Distinct();
Warum wird die
orderby
nicht durchgesetzt?
Sie können so etwas verwenden:
dataTable.Rows.Cast<DataRow>().GroupBy(g => g["Name"]).Select(s => s.First()).OrderBy(o => o["Name"]);
Versuche Folgendes
var names = (from dr in dataTable.Rows
select (string)dr["Name"]).Distinct().OrderBy(name => name);
Dies sollte für das funktionieren, was Sie brauchen.
Zusammenfassung: Alle Antworten haben etwas gemeinsam.
OrderBy muss die letzte Operation sein.
var sortedTable = (from results in resultTable.AsEnumerable()
select (string)results[attributeList]).Distinct().OrderBy(name => name);