c# - Is there a neat way to compare nullable and dbnullable objects? -
i have code this:
foreach (datarow row in datatable.rows) { if ((string)row["forename"] != record.forename) { // } } works great if row["forename"] null in database, dbnull here , can't cast dbnull string, or perform comparison between dbnull , string. values nullable<int>, , can't compare dbnull int?
is there helper method let me nice comparisons or have write extension method myself?
you can use datarow.field extension method supports nullable types:
foreach (datarow row in datatable.rows) { int? id = row.field<int?>("id"); if(id.hasvalue) { console.write("id: " + id.value); } } since string reference type null default. can use datarow.isnull instead check whether dbnull.value or not:
foreach (datarow row in datatable.rows) { if(row.isnull("forename")) { // ... } else { string forename = row.field<string>("forename"); console.write("forename: " + forename); } }
Comments
Post a Comment