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