これが私が好きなオプションの1つです。すでにデータを持っている方が良いですが、IEnumerable<string>
持っていなくても十分簡単です。また、1 つまたは 2 つだけでなく、n 個の文字列が結合されるようにスケーリングすることも明らかです。
string[] myStrings = new string[]{"Hello", "World", null};
string result = string.Join(" ", myStrings.Where(str => !string.IsNullOrEmpty(str)));
ここに別のオプションがあります。この1つのケースでは少し短くなっていますが、見にくく、読みにくく、拡張性がないため、個人的には避けたいと思います:
//note space added before {0}
Assert.Fail("Something is foo. {0}", message ?? "\b");
この場合、フォーマット文字列自体にスペースを追加しますが、message
が null の場合は、代わりにバックスペース文字を使用して、メッセージ内のその前にあることがわかっているスペースを削除します。