|
■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();
|