Я использую собственный метод расширения Coalesce. Так как те, кто здесь используют LINQ, и абсолютно бесполезно тратят ресурсы на операции, требующие больших затрат времени (я использую их в тесных циклах), я поделюсь своим:
public static class StringCoalesceExtension
{
public static string Coalesce(this string s1, string s2)
{
return string.IsNullOrWhiteSpace(s1) ? s2 : s1;
}
}
Я думаю, что это довольно просто, и вам даже не нужно беспокоиться о нулевых строковых значениях. Используйте это так:
string s1 = null;
string s2 = "";
string s3 = "loudenvier";
string s = s1.Coalesce(s2.Coalesce(s3));
Assert.AreEqual("loudenvier", s);
Я часто этим пользуюсь. Одна из тех «утилитарных» функций, без которых вы не можете жить после первого использования: -)