Убедитесь, что столбец существует в DataRow перед чтением его значения

Как написать код, который читает DataRow, но если в DataRow его нет, он просто пропускает его и перемещается, например, следующим образом:

string BarcodeIssueUnit;
if (dr_art_line["BarcodeIssueUnit"].ToString().Length <= 0)
{
    BarcodeIssueUnit = "";
}
else
{
    BarcodeIssueUnit = dr_art_line["BarcodeIssueUnit"].ToString();
}

Теперь столбец BarcodeIssueUnit может принадлежать к таблице, но в некоторых случаях этот столбец не существует в таблице. Если он не существует и я его прочитал, я получаю эту ошибку:

System.ArgumentException: Column `BarcodeIssueUnit` 
does not belong to table Line.

Я просто хочу запустить проверку, если столбец там нормально, пусть видят значения, если нет, просто пропустите эту часть и продолжайте.

Ответы

Ответ 1

Проверьте имя столбца с помощью DataRow.Table.Columns. Если там преобразуется значение else, выйдите.

BarcodeIssueUnit = dr_art_line.Table.Columns.Contains("BarcodeIssueUnit")?
                   dr_art_line["BarcodeIssueUnit"].ToString(): "";

Ответ 3

Вы можете проверить, содержит ли таблица схемы для текущей строки определенный столбец:

 if (!dr_art_line.Table.Columns.Contains("BarcodeIssueUnit"))
 {
     BarcodeIssueUnit = "";
 }
 else
 {
      BarcodeIssueUnit = dr_art_line["BarcodeIssueUnit"].ToString();
 }