我最近遇到了一个问题,我想知道两个双引号对 C# 中的编译器意味着什么。
string Var, blankVar;
Var = null; //Var is not instantiated or defined.
Var = ""; //Var should be blank or empty, but it is not null.
Var = "house"; //Var is defined as the string value house.
blankVar = ""; //blankVar should be blank or empty, but it is not null.
此时编译器应该将“house”的值存储到字符串变量 Var 中。字符串变量 blankVar 应该为空。
if (Var.Contains(blankVar)) //if "house" contains "" then..
{
// do something
}
如果 Var 等于 "house" 并且不包含空 (""),为什么编译器仍然单步执行 if 语句?