string[] arrTopics = {"Health", "Science", "Politics"};
Run Code Online (Sandbox Code Playgroud)
我有一个if语句,如:
if (arrTopics.Count() != null)
Run Code Online (Sandbox Code Playgroud)
当我将鼠标悬停在上述语句上时,它说:
警告CS0472:表达式的结果始终为true,因为int类型的值永远不等于int类型的null?
我无法弄清楚为什么这么说.有谁能够帮我?
mdm*_*mdm 22
int永远不能等于null.int?是可空的版本,可以等于null.
你应该检查一下if(arrTopics.Count() != 0).
它意味着它所说的.
"Count"方法返回值类型.这是一个整数.它将始终具有默认值为零的值.
你的检查应该是:
if (arrTopics.Count() != 0)
Run Code Online (Sandbox Code Playgroud)
您想在这里问什么?
Array.Count() returns an int which will never be null.
Run Code Online (Sandbox Code Playgroud)
如果您想知道数组是否已初始化,请执行以下操作:
if(arrTopics !=null) ...
Run Code Online (Sandbox Code Playgroud)
如果您想知道它是否已初始化但没有成员,则:
if(arrTopics.Count() > 0) ...
Run Code Online (Sandbox Code Playgroud)