Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于C#中的字符串变量,两个双引号到底意味着什么?_C#_String_Null - Fatal编程技术网

对于C#中的字符串变量,两个双引号到底意味着什么?

对于C#中的字符串变量,两个双引号到底意味着什么?,c#,string,null,C#,String,Null,我最近遇到了一个问题,我想知道两个双引号对C#中的编译器意味着什么 此时,编译器应将值“house”存储到字符串变量Var中。字符串变量blankVar应为空 if (Var.Contains(blankVar)) //if "house" contains "" then.. { // do something } 如果Var等于“house”并且不包含空(“”),那么为什么编译器仍要进入If语句 每个字符串都包含空字符串。从逻辑上讲,这是有意义的,因为每个字符串都包含一些长度为零的子字符串

我最近遇到了一个问题,我想知道两个双引号对C#中的编译器意味着什么

此时,编译器应将值“house”存储到字符串变量Var中。字符串变量blankVar应为空

if (Var.Contains(blankVar)) //if "house" contains "" then..
{
// do something
}

如果Var等于“house”并且不包含空(“”),那么为什么编译器仍要进入If语句

每个字符串都包含空字符串。从逻辑上讲,这是有意义的,因为每个字符串都包含一些长度为零的子字符串,包括空字符串本身

包含
方法只是反映了这一点。见:

返回值
类型:
System.Boolean

true如果value参数出现在此字符串中,或者value是空字符串(“”);否则,false


有人甚至可以说,这些文件是在说明显而易见的事情(当然,除了OP…。@Jongware是的,这可能不是每个人都能看到的。我记得当我第一次了解空集合时,它是其他集合的子集,包括它本身。当时这让我很惊讶(尽管经过一段时间的思考后,我意识到事情一定是这样的)。
if (Var.Contains(blankVar)) //if "house" contains "" then..
{
// do something
}