以下に示すようなLinqクエリがあります
var ResultQuery = from Task in dtTasks.AsEnumerable()
select new { EmployeeName = Task.Field<string>("EmpName").Split(':')[1],
EmployeeCode = Task.Field<string>("EmpName").Split(':')[0],
ProjectId = Task.Field<string>("ProjectName").Split(':')[0],
ProjectName = Task.Field<string>("ProjectName").Split(':')[1],
TaskName = Task.Field<string>("TaskName"),
TaskDescription = Task.Field<string>("TaskDescription"),
StartDate = Task.Field<DateTime>("StartDate"),
Duration = Task.Field<double>("Duration"),
EndDate = Task.Field<DateTime>("EndDate"),
LeadName = Task.Field<string>("LeadBy").Split(':')[1],
LeadId = Task.Field<string>("LeadBy").Split(':')[0]
};
foreach (var task in ResultQuery)
{
}
dtTasks
Microsoft Excel ファイルからインポートされたテーブルです。これはユーザー入力ファイルであるため、多くのタイプミスがある可能性があります。String.Split
Linq Query では、DateTime 変換が失敗した場合、またはオブジェクト参照がインスタンス エラー (空白または空の行が挿入されたときのメソッド) に設定されていない場合、どのように処理できますか? それらの繰り返しをスキップし、スキップする理由についてユーザーに警告を発したいと思います。これにLinqを使用した場合、どうすればこれを達成できますか?