0

LINQクエリの結果を取得する方法には、 group by to DataTable が含まれています。

var query= from d in dtable.AsEnumerable()
           group d by d["Id"];

WId FirstName LastName Age
1   Jass      we       23 
1   Mady      wer      54
3   Servy     gr       22
4   Jan       fr       11

Expected
    WId FirstName LastName Age
    1   Jass      we       23 
    3   Servy     gr       22
    4   Jan       fr       11

ありがとうプラディープ

4

1 に答える 1

1

ID グループごとに最初の人だけを取得したい場合:

var distinctIdPersons = from p in dtable.AsEnumerable()
                        group p by p.Field<int>("WId") into IdGroups
                        select IdGroups.First();

またはメソッド構文で:

distinctIdPersons = dtable.AsEnumerable().GroupBy(r => r.Field<int>("WId"))
                                         .Select( g => g.First());

結果を確認したい場合 (テスト目的の場合は fe)、次を使用できますstring.Join

var output = string.Join(", ", distinctIdPersons.Select(r => 
    r.Field<string>("FirstName") + " " + r.Field<string>("LastName")));
Console.WriteLine(output); // Jass we, Servy gr, Jan fr
于 2012-07-03T20:20:59.317 に答える