c# - String NULL 是否总是等于 C# 中的另一个 String NULL?

标签 c# string

在我的 VS 2015 编译器上,我测试了它

    static void Main(string[] args)
    {
        string str1 = null;
        string str2 = null;
        if(str1==str2)  //they are the same on my machine
        {
        }
    }

但这是记录在案的行为? NULL 根据定义,是未定义的行为,因此将 NULL 与另一个 NULL 进行比较 可能 未定义。可能会发生在我的机器上,使用我当前的 .Net 框架,两个 NULL 结果是相同的。但在未来,它们可能不再相同。

在那种情况下,我的代码会悄无声息地崩溃。

始终假设上述两个 NULL 字符串始终相同是否安全?

最佳答案

是的,已记录 here

If both a and b are null, the method returns true.

当你使用==时会用到这个方法,提到here .

calls the static Equals(String, String) method

关于c# - String NULL 是否总是等于 C# 中的另一个 String NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608812/

相关文章:

python - 在Python中读取具有最新时间戳的文本文件

c# - 通过接口(interface)访问时,DbContext 在查询时抛出异常

c# - WPF 改变窗口模式状态

c# - 将带有空格的 ListItem 添加到 ListBox

javascript - RegEx - 从逗号分隔的字符串中提取包含子字符串的单词

java - 在 Java 中有意义地比较两个字符串

c - 从 strncpy() 函数获取奇怪的字符

c# - 列表排序优先特定值

c# - 从服务器端到 Javascript 的时区不正确

string - 从其子序列的集合构建最短的字符串