質問

してい DataTableName カラムです。いをするためのユニークな名前を命はアルファベット順とする。以下のクエリを無視し 注文 を提供しています。

var names =
    (from DataRow dr in dataTable.Rows
    orderby (string)dr["Name"]
    select (string)dr["Name"]).Distinct();

のはなぜですか orderby な行?

役に立ちましたか?

解決

で読みやすくするために、維持できるも分割して複数のLINQます。

  1. を選択し、お客様のデータを新しいリストのう x1, は、投影希望の場合
  2. 次に、個別のリストから x1x2, は、どの区別が必要とな
  3. 最後に、順序付けられたリストから x2x3, 選別によるも希望

他のヒント

問題は、個別の オペレーターは付与されませんのです を維持し、 値です。

でもエラーが必要のように動作します

var names = (from DataRow dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy( name => name );
var sortedTable = (from results in resultTable.AsEnumerable()
select (string)results[attributeList]).Distinct().OrderBy(name => name);

試しに

dataTable.Rows.Cast<DataRow>().select(dr => dr["Name"].ToString()).Distinct().OrderBy(name => name);

次のことを試してみてください

var names = (from dr in dataTable.Rows
             select (string)dr["Name"]).Distinct().OrderBy(name => name);

この作業で作られています。

抽象:すべての答えています。

OrderByニーズへと大きく異なる結果となる可能。

利用できるようにする:

dataTable.Rows.Cast<DataRow>().GroupBy(g => g["Name"]).Select(s => s.First()).OrderBy(o => o["Name"]);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top