gpt4 book ai didi

c# - .ToString() 和 + ""有什么区别

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

如果我有一个 DateTime,我会这样做:

date.Year.ToString()

我将年份作为字符串。但如果我这样做了

date.Year + ""

不同之处仅在于如果没有日期,第二个不会出现异常? (我更喜欢)

最佳答案

当您编写 date.Year + "" 时,它将被编译为对 string.Concat(object, object) 的调用:

String.Concat(date.Year, "")

在内部,Concat 方法将在每个(非空)对象上调用 ToString

如果 datenull,这两种方法都会抛出一个 NullReferenceException。但是你说 dateDateTime 类型。 DateTime 是一个结构,因此不能为 null。


如果 dateDateTime? 类型并且想要在 date 为 null 时返回一个空字符串,那么您可以使用这个:

date.HasValue ? date.Value.Year.ToString() : ""

关于c# - .ToString() 和 + ""有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412912/

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