Это мой список:
List<String> myItems = new List<String>();
и это как я сравниваю с элементами с элементами в datatable:
for (int i = 0; i < dt.Rows.Count; i++)
{
if (myItems[i].ToString().Trim().Equals(dt.Rows[i][1].ToString().Trim()))
}
Но приложение ломается, если количество элементов не совпадает. Например, в моем списке есть 30 элементов, но в dt есть 35.
Вы можете использовать самый низкий счет между списком и dt для lopping. Таким образом, вы не получите перерыв в петле.
List<String> myItems = new List<String>();
int count = myItems.Count>dt.Rows.Count?dt.Rows.Count:myItems.Count; // it will give lowest count between them
Теперь используйте этот счет в цикле
for (int i = 0; i < count; i++)
{
if (myItems[i].ToString().Trim().Equals(dt.Rows[i][1].ToString().Trim()))
}
Чтобы найти элементы в вашем списке, которых нет в datatable
Items.Except(datatable.AsEnumerable().Select(r => r.Field<string>(columnIndex)));
Отмените приведенный выше оператор для элементов в вашей информации, которые не указаны в вашем списке