tags:

views:

105

answers:

2

Is there a shorthand way to denullify a string in C#?

It would be the equivalent of (if 'x' is a string):

string y = x == null ? "" : x;

I guess I'm hoping there's some operator that would work something like:

string y = #x;

Wishful thinking, huh?

The closest I've got so far is an extension method on the string class:

public static string ToNotNull(this string value)
{
    return value == null ? "" : value;
}

which allows me to do:

string y = x.ToNotNull();

Any improvements on that, anyone?

+13  A: 

This will work:

string y = x ?? "";

See http://msdn.microsoft.com/en-us/library/ms173224.aspx

Hans Kesting
Ah yes, the good ol' null-coalescing operator. Thanks.
Moose Factory
A: 

If you need this reguarly, instead of an extension method you might want to consider creating your own type which behaves like a Nullable and shares the same usage as there is a System.Nullable.GetValueOrDefault(); method. Unfortunately, you can only use System.Nullable on value types so you can't make a nullable string as standard.

Kim R