string[] B = C.OfType<object>().Where(o =>o != null).Select(o => o.ToString()).ToArray();
我尝试将数组C
转换为string[]
但是,ArrayC
有很多null
,我希望null
更改为" "
我该怎么办?
你不需要OfType<object>()
,只需调用字符串即可。康卡特:
var s = string.Concat(C.ToArray());
如果您查看文档:
该方法通过调用该对象的无参数 ToString 方法来连接 args 中的每个对象;它不添加任何分隔符。 String.Empty 用于代替数组中的任何 null 对象。
这应该有效:
var B = C.OfType<string>().Select(o => o ?? " ").ToArray();
.OfType<string>()
将从 C 中过滤掉所有非字符串值。
.Select(o => o ?? " ")
将选择该值,如果该值为 null,则" "
。
.ToArray()
将把 IEnumerable 变成一个string[]
.