Существует ли краткий способ к denullify строка в C#?

Существует ли краткий способ к denullify строка в C#?

Это был бы эквивалент (если 'x' является строкой):

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

Я предполагаю, что надеюсь, что существует некоторый оператор, который работал бы что-то как:

string y = #x;

Принятие желаемого за действительное, ха?

Самым близким, который я имею до сих пор, является дополнительный метод на строковом классе:

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

который позволяет мне делать:

string y = x.ToNotNull();

Какие-либо улучшения на этом, ком-либо?

6
задан Oundless 21 April 2010 в 10:40
поделиться

2 ответа

Это будет работать:

string y = x ?? "";

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

16
ответ дан 8 December 2019 в 14:41
поделиться

Если вам это нужно регулярно, вместо метода расширения вы можете рассмотреть возможность создания собственного типа, который ведет себя как Nullable и использует то же использование, что и System.Nullable .GetValueOrDefault (); метод. К сожалению, вы можете использовать System.Nullable только для типов значений, поэтому вы не можете сделать строку, допускающую значение NULL, в качестве стандарта.

0
ответ дан 8 December 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: