Verify that a column exists in the DataRow before reading its value

c#

Solution

Check for column name using `DataRow.Table.Columns`. If there convert value else come out.

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

Problem

How do I write code that reads a DataRow but, if filed in DataRow isn't there, it just skips it and moves on, like this for example: ``` string BarcodeIssueUnit; if (dr_art_line["BarcodeIssueUnit"].ToString().Length <= 0) { BarcodeIssueUnit = ""; } else { BarcodeIssueUnit = dr_art_line["BarcodeIssueUnit"].ToString(); } ``` Now, the Column `BarcodeIssueUnit` can belong to the table but, in some cases, that column does not exist in the table. If it's not there and I read it, I get this error: ``` System.ArgumentException: Column `BarcodeIssueUnit` does not belong to table Line. ``` I just want to run a check if the column is there ok, let see the values, if it's not, just skip that part and go on.

Original source

Related problems