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);




.net-3.5