gpt4 book ai didi

c# - .Net C# String.Join 如果元素值为空,如何输出 "null"而不是空字符串?

转载 作者:太空狗 更新时间:2023-10-29 22:52:06 27 4
gpt4 key购买 nike

根据MSDN docs for String.Join “如果值中的任何元素为空,则使用空字符串。”

我的代码从数据表中提取数据

rotationValues = string.Join<object>(", ",
from r in rotationData.Rows.OfType<DataRow>() select r[5]);

这将导致类似这样的输出:

8, 7, , 12, , , 13, 

有什么方法可以简单地用“null”代替空字符串,如下所示:

8, 7, null, 12, null, null, 13, null

最佳答案

你可以选择

r[5] ?? "null"

而不仅仅是 r[5] .

此外,只需删除 <object>调用泛型方法时的一部分。它仍然是一个 IEnumerable<object>你加入,但编译器会自动推断类型参数。

评论后添加:

你的 r[5]可能是 DBNull.Value .那么,这不是一个“真正的”空引用,而是它的 ToString执行返回 "" .所以在那种情况下,string.Join文档并不严格相关。因此,请尝试选择类似

(r[5] == null || DBNull.Value.Equals(r[5])) ? "null" : r[5]

或者也许

(r[5] == null || r[5] is DBNull) ? "null" : r[5]

希望对您有所帮助。

关于c# - .Net C# String.Join 如果元素值为空,如何输出 "null"而不是空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621347/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com