c# - String NULL 是否总是等于 C# 中的另一个 String NULL?
问题描述
在我的 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
字符串始终相同是否安全?
解决方案
推荐阅读
- r - 为什么 tidymodels/recipes 中的“id 变量”起到预测作用?
- php - 尝试了未定义索引的解决方案,但由于相同的错误而失败
- javascript - 在 setInterval 中进行 axios 调用可以吗?
- java - MultiResourceItemReader - 如果标题无效,则跳过整个文件
- c# - 来自同一主应用程序的 ASP.NET Core 管道
- javascript - 当我在 laravel 中单击新窗口时,我的页面没有显示任何内容(*白屏“)
- spring-boot - Spring Boot 2.2.2 RELEASE - 找不到 PropertySource:无法提取响应
- java - 为什么我们需要 notify() 进行线程间通信
- android - AsyncHttpClient() 完成后如何等待和执行代码?
- reactjs - React-Images 和 React-Photo-Gallery 编译错误