2012-02-19 10 views
1

ExcelファイルからインポートされたDataTableを持っています。 必要なデータは、DataTableの特定の列から一意です。 私が意味するユニークなデータは、コマンドDISTINCTがSQL Select Queryで使用されている場合と似ています。 DataTableの列から一意のデータのリストを取得してリストに入れたい LinQをこの問題で使用することはできますが、あまり慣れていないと思います。 私は誰かが私にいくつかの知識を落とすことを願ってデータテーブルの特定の列の固有レコードを取得する方法

var data is from MyDataTable 
    where MyDataTable.ColumnName = "SpecificColumn" 
    select MyDataTable["SpecificColumn"]).UniqueData; 

List<string> MyUniqueData = new List<string>(); 

foreach(object obj in data) 
{ 
    if(MyUniqueData.NotContain(obj)) 
    MyUniqueData.add(obj); 
} 

の下にこのようなコードを考えていました。

答えて

3
var unique = data.Distinct().ToList(); 
1

あなたが探しているのは.Distinct()です。 See MSDN documentation here。特定のものが必要な場合は独自の比較を指定でき、固有のレコードのみが返されます。

0

列から一意のレコードを取得するためにデータテーブルまたはデータビューを使用している場合は、これを記述する必要があります。 これは簡単です。

DataTable dtNew = dt.DefaultView.ToTable(true, "ColName"); // for Datatable 

DataTable dtnew= dv.ToTable(true, "ColName"); // for DataView 
関連する問題