以下代码返回true,为什么?
var inputs = new object[]{null, 1};
var output = string.Join(",", inputs);
Console.WriteLine(output == "");//Prints True
Output = ""
但以下代码工作正常
var inputs = new object[]{"", null, 1};
var output = string.Join(",", inputs);
Console.WriteLine(output == "");//Prints False
Output = ",,1"
本机实现有问题吗?
答案 0 :(得分:7)
来自MSDN:
如果值的第一个元素是
null
,则Join(String, Object[])
方法不会连接值中的元素,而是返回String.Empty
。
使用object[]
进行重载的特殊情况。请注意,对于其他重载,例如string[]
重载,这不是真的。