Join
メソッド 内でインライン 3 項を使用してみることができます。
string.Join("-", string.IsNullOrEmpty(e.Company) ? "fired" : e.Company, e.Name)
編集(スペルミスで「fred」を読み間違えました)。
別の回答で述べたように、拡張メソッドはコードをクリーンアップします。醜いコードを別の場所に移動します。
拡張メソッドの代替として、後でより多くのパラメーターを許可する次のようなものをお勧めします。
public static string ExcludeEmptiesJoin(params string[] args) {
string outValue = string.Empty;
foreach (var arg in args.Where(s => !string.IsNullOrEmpty(s))) {
if (string.IsNullOrEmpty(outValue)) {
outValue = arg;
} else {
outValue = string.Join("-", outValue, arg);
}
}
return outValue;
}
使用法:
Console.WriteLine(ExcludeEmptiesJoin("Company", "Fred"));
Console.WriteLine();
Console.WriteLine(ExcludeEmptiesJoin("", "Fred"));
Console.WriteLine();
Console.WriteLine(ExcludeEmptiesJoin("Company", ""));
Console.WriteLine();
Console.WriteLine(ExcludeEmptiesJoin("Company", "", "4/4/1979"));
Console.WriteLine();
Console.WriteLine(ExcludeEmptiesJoin("Company", "Fred", "4/4/1979"));
出力:
会社-フレッド
フレッド
会社
会社 - 1979 年 4 月 4 日
Company-Fred-1979 年 4 月 4 日