Tell me please is this is correct way to check NULL in DataRow if need to return a string
Convert.ToString(row["Int64_id"] ?? "")
Or should be like check with DBNull.Value.
Need to so much more smaller than
if(row["Int64_id"] != DBNull.Value){...}else if{}
You can use the DataColumnCollection of Your datatable to check if the column is in the collection.
Check if the data column is not null with DataRow.IsNull(string columnName)
if (!row.IsNull("Int64_id")) { // here you can use it safety long someValue = (long)row["Int64_id"]; }
There are overloads for it using the index
of the column or if you have the instance of the DataColumn
. If you are sure about the index
, use the index version which tends to be faster than the other options.
We have created an extension class that helps in these kinds of situations.
public static class DataRowExtensions { public static T FieldOrDefault<T>(this DataRow row, string columnName) { return row.IsNull(columnName) ? default(T) : row.Field<T>(columnName); } }
You can use is as follows:
int id = dataRow.FieldOrDefault<int>("Id");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With