Oundless
Oundless

Reputation: 5505

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

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?

Upvotes: 6

Views: 1075

Answers (2)

Kim R
Kim R

Reputation: 561

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.

Upvotes: 0

Hans Kesting
Hans Kesting

Reputation: 39274

This will work:

string y = x ?? "";

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

Upvotes: 16

Related Questions