簡單的對DataTable做Distinct

有時候,我們需求對一個DataTable進行資料的唯一性查詢(DISTINCT),就以前的做法,可能要跑個迴圈做比對。
前陣子在網路上發現原來對DataTable做DISTINCT是這麼容易的一件事~

DataTable dtTable = new DataTable();
....
DataTable的資料處理
....
// Distinct data
DataView dvView = dtTable.DefaultView;
// ToTable的第一個變數即為是否Distinct
DataTable dtDistinct = dvView.ToTable(true,"FieldName1","FieldName2","...");

如上,很快的就可以查出不重覆的資料囉~

資料來源:BlueFly

===================================================
2014-08-29補充:
事實上也可以用LINQ做,而且可以把條件過濾、排序都一併用上,速度會比較快喔!
Dictionary<string, string> dList = _PcsOptions.AsEnumerable().Where(dr => dr.Field("CategoryNo") == [條件]).Select(dr => new
{
Code = dr.Field<string>("FirstPart"),
EngName = dr.Field<string>("EngName")
}).Distinct().OrderBy(dr => dr.Code).ToDictionary(dr => dr.Code, dr => dr.EngName);


2009-09-20 22:18:14

I said something before.....
Label 在 PictureBox 上背景不能透明 2021-05-24 06:32
Textbox限制輸入數字 2016-11-14 21:17
C# 字串分割 2016-07-28 20:25
LINQ筆記 2016-07-27 03:33
SQL Server的記錄檔無限成長 2015-11-02 05:47
安裝MySQL ODBC 5.2錯誤 – Error 1918 2014-02-03 19:27
在Reporting Service報表上顯示QRCode 2013-04-01 02:59
SQL Server DB管理筆記 2012-07-05 20:21
還原MSSQL遇到「備份組包含現有的XXX資料庫以外的資料庫備份」的錯誤 2012-05-15 12:35
Informix計算兩時間的差距 2010-08-12 06:01
ReportViewer顯示LocalReport及ServerReport 2010-05-24 04:13
SQL Server取得當月第一天及最後一天 2010-01-19 00:00
使用 svcutil 編譯 WCF 錯誤解法 2009-07-09 07:59
PHP加載MSSQL函式庫 2008-10-20 08:54
資料庫抓取固定筆數資料 2008-09-18 22:27