man*_*c66 2 c# string join object
我注意到string.Join(" ", new object[] { null, "a", null, "b"})退货string.Empty
注意string.Join(" ", new string[] { null, "a", null, "b"})返回a b(正如我期望的那样)
连接字符时,事情变得恶毒:
string.Join(" ", new object[] { null, 'a', null, 'b'})它还会返回string.Empty
编辑:即使文档说了这件事(感谢@elgonzo),是否有合理的理由在框架中实现了这种例外?
根据文档:
来电者须知
如果值的第一个元素是,则
null,该Join(String, Object[])方法不将值中的元素连接起来,而是返回Empty。有许多解决此问题的方法。最简单的方法是将空值分配给数组的第一个元素,如以下示例所示。
object[] values = { null, "Cobb", 4189, 11434, .366 };
if (values[0] == null) values[0] = String.Empty;
Console.WriteLine(String.Join("|", values));
// The example displays the following output:
// |Cobb|4189|11434|0.366
Run Code Online (Sandbox Code Playgroud)
我建议您阅读它,非常有趣。