Проверка на вхождение в массив интов

464
12 октября 2017, 09:09

Здравствуйте. Есть массив целых чисел.

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 в мой массив.

Answer 1

Индексатор класса DataTable возвращает object. Ваш List содержит int'ы. Соответственно, вам надо преобразовать значения интересующего столбца в int и искать в массиве уже это значение. В DataTable есть соответствующий метод Field<T>:

list_line_num.Contains(row.Field<int>("workplace_id"));

При условии, что столбец содержит только целочисленные значения и не содержит null, можно также использовать любой метод парсинга целых чисел: Convert.ToInt32, int.Parse или int.TryParse

Answer 2
Array.Exists(ist_line_num, element => element == row["workplace_id"])
READ ALSO
Переменная-ссылка и указатели как с ними работать в Unity?

Переменная-ссылка и указатели как с ними работать в Unity?

Как получить указатель (или переменную-ссылку) на переменную Color в компоненте Image? что бы не обращаться постоянно к разным компонентам и не давать...

272
Ошибка при чтении данных из БД Mysql c#

Ошибка при чтении данных из БД Mysql c#

При чтении данных из таблицы (100+ столбцов) выдаёт ошибкуОднако если обратить к другой таблице или уменьшить количество столбцов до 25 всё...

205
Методы оптимизации Reactive Extensions

Методы оптимизации Reactive Extensions

По мотивам своего вопроса Синхронизация Model и ViewModel, когда приложение - Client

148
Добавление элементов в список

Добавление элементов в список

Добрый день! Хочу добавить по клику элемент li с данными а к нему кнопку после элемента (есть вторая часть задания, чтобы по клику удалить этот...

256