У меня есть это:
var productDetailsFromFile = (from row in dt.AsEnumerable()
select new ProductDetails
{
ItemNumber = row.Field<string>("Item Number"),
Cost = row.Field<string>("Cost").ToDecimal(),//custom method .ToDecimal
WHQtyList = new List<int>()
{
row.Field<string>("foo").ToInteger(),//custom method .ToInteger
row.Field<string>("bar").ToInteger(),
row.Field<string>("foo2").ToInteger(),
}
}).ToList();
Он читает информацию из файла .csv. Я пытаюсь добиться элегантного способа проверить, являются ли поля "foo", "bar" или "foo2".
В данный момент проблема заключается в том, что если из файла CSV удалить один из столбцов, столбец не в датируемой ошибке выскакивает. Я не могу заставить это работать в течение 2 часов.
То, что я по существу ищу, - как проверить, существует ли столбец, как я использую его для инициализации списка, или если столбец не существует значение по умолчанию равно 0 для каждой строки, где она не существует.