Здравствуйте. Есть массив целых чисел.
int[] list_line_num = new int[6] { 1, 2, 3, 4, 5, 6 };
И есть DataRow взятый из DataTable.
foreach (DataRow row in dt.Rows)
Мне нужно проверить входит ли 1 из элементов row в этот массив. Делаю вот такими вот способами. Не один не получился. Что я делаю не так. Хотя бы 1 из способов объясните пожалуйста. А лучше если можно то все.
list_line_num.Contains(row["workplace_id"])
Array.Exists(list_line_num, element => element.StartsWith())
Ко второму способу 2 вопроса. Во первых у меня у элемента нет атрибута StartsWith, возможно какую то библиотечку не подключил. Подскажите какую нужно. И что в моём случае нужно поместить в StartsWith если я просто хочу узнать входит ли циферка которая извлекается из row в мой массив.
Индексатор класса DataTable возвращает object. Ваш List содержит int'ы. Соответственно, вам надо преобразовать значения интересующего столбца в int и искать в массиве уже это значение. В DataTable есть соответствующий метод Field<T>:
list_line_num.Contains(row.Field<int>("workplace_id"));
При условии, что столбец содержит только целочисленные значения и не содержит null, можно также использовать любой метод парсинга целых чисел: Convert.ToInt32, int.Parse или int.TryParse
Array.Exists(ist_line_num, element => element == row["workplace_id"])
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости