C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■87817 / )  Re[1]: DataTableとの差分比較をしたい
□投稿者/ 魔界の仮面弁士 (1734回)-(2018/07/02(Mon) 16:06:58)
No87816 (MTK さん) に返信
> データベースにINT型でC_Yearというカラムがあります。

それを受け取る DataTable 側の C_Year フィールドの型は
int ですか? decimal ですか? string ですか?


> List<string> payrollYear
こちらは string なのですね。
比較の際には、DataTable と List の双方の型を合わせる必要があるでしょう。


> C_Yearの一覧    → 2015,2016,2018
> payrollYearの一覧 → 2016,2017
> の場合だと
> 2018 のみを取得(C_Yearにあって、payrollYearにないものだけ)したいです。

2015 が除去される理由は何でしょうか?


var retTable = new DataTable("retTable");
retTable.Columns.Add("C_Year", typeof(int));
retTable.Rows.Add(2015);
retTable.Rows.Add(2016);
retTable.Rows.Add(2018);

var payrollYear = new List<string>() { "2016", "2017" };

var cYears = retTable.AsEnumerable().Select(r => r["C_Year"].ToString());

string[] except = cYears.Except(payrollYear).ToArray();
返信 編集キー/


管理者用

- Child Tree -