Best practices before doing string manipulation in C# -


is there recommended best practice checking null , empty (anything else?) before doing string manipulations, in c#? specifically, needed call replace , trim on string, find doing on null string throws. there better format following?

tmp = (tmp == null) ? null : tmp.replace("token", "").trim();

use string.isnullorwhitespace in .net 4.0 or later, or string.isnullorempty in .net 3.x.

string temp = ... if( !string.isnullorwhitespace( temp ) ) {     temp = temp.replace("token", "").trim(); } 

c# 6.0 adds ?. operator, "null-safe", returns null , skips rest of navigation expression:

string temp = ... temp = temp?.replace("token", "").trim(); 

as remarked in comment, if you're accessing database using ado.net (dataset, datatable, idatareader, etc) should check dbnull used indicate sql null values, distinct null in c#:

using( idatareader rdr = command.executereader() ) {      while( rdr.read() ) {          string value = rdr.isdbnull( somecolumnindex ) ? null : rdr.getstring( somecolumnindex );     } } 

or:

datatable table = ... foreach( datarow row in table.rows ) {     if( row["somecolumn"] != dbnull.value ) {         string value = (string)row["somecolumn"];         // stuff     } } 

Comments