gpt4 book ai didi

c# - Convert.ToString 返回 string.empty 而不是 null

转载 作者:行者123 更新时间:2023-12-03 18:15:39 27 4
gpt4 key购买 nike

我发现了 Convert.ToString 的一个奇怪行为,我想了解它为什么会这样。

看看下面的代码片段:

string obj = null;
var str = Convert.ToString(obj);
Console.WriteLine(str); // CORRECT: returns null;

到目前为止一切都很好,但是:
DBNull obj = DBNull.Value;
var str = Convert.ToString(obj);
Console.WriteLine(str); // ???: returns string.Empty ("")


object obj = null;
var str = Convert.ToString(obj);
Console.WriteLine(str); // ???: returns string.Empty ("")

它在我看来就像一个错误,因为当我转换为字符串并且输入为 NULL 时,结果应该是字符串的默认值,它也是 NULL。

最佳答案

Convert.ToStringa String overload that does nothing :

Returns the specified string instance; no actual conversion is performed.



its Object overload定义如下:

The string representation of value, or String.Empty if value is null.



这可能有点令人惊讶,但没有理由使用 Convert.ToStringString首先表达。

关于c# - Convert.ToString 返回 string.empty 而不是 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50923613/

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