Rea*_*tor 5 .net c# string null
根据String.Join的MSDN文档 "如果value中的任何元素为null,则使用空字符串."
代码我从DataTable中提取数据
rotationValues = string.Join<object>(", ",
from r in rotationData.Rows.OfType<DataRow>() select r[5]);
Run Code Online (Sandbox Code Playgroud)
这将导致输出类似于:
8, 7, , 12, , , 13,
Run Code Online (Sandbox Code Playgroud)
是否有任何方法可以简单地将"null"替换为空字符串,如下所示:
8, 7, null, 12, null, null, 13, null
Run Code Online (Sandbox Code Playgroud)
你可以选择
r[5] ?? "null"
Run Code Online (Sandbox Code Playgroud)
而不仅仅是r[5].
此外,只需<object>在调用泛型方法时删除该部件.它仍然是IEnumerable<object>您加入的,但编译器将自动推断出类型参数.
评论后的补充:
你r[5]可能会DBNull.Value.然后,这不是"真正的"空引用,但它的ToString实现返回"".因此,在这种情况下,string.Join文档并不严格相关.因此,尝试选择类似的东西
(r[5] == null || DBNull.Value.Equals(r[5])) ? "null" : r[5]
Run Code Online (Sandbox Code Playgroud)
或者可能
(r[5] == null || r[5] is DBNull) ? "null" : r[5]
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.