C# 3.0 has this built into the language.
The null coalescing operator ??
.
string message = "hello";
string result = message ?? "default value";
result
will be "hello"
string message = null;
string result = message ?? "default value";
result
will be "default value"