C# 如果项不在数组中
本文关键字:数组 如果 | 更新日期: 2023-09-27 18:31:56
我有一个包含以下 3 个项目的数组:
string[] departmentArray = {
"Warranty Service Representative",
"Warranty Service Administrative Manager",
"Warranty and Site Administrator"
};
我有这个字符串
var department = "Warranty Service Representative"
我有这个条件,假设测试字符串部门是否不在departmentArray
if (Array.Exists(departmentArray, element => element != department)){
}
显然,字符串在数组中,所以它应该返回 false,但这为我的字符串返回 true。我做错了什么?
这不是更简单吗?
string[] departmentArray = {
"Warranty Service Representative",
"Warranty Service Administrative Manager",
"Warranty and Site Administrator" };
String department = "Warranty Service Representative";
if (departmentArray.Contains(department) == false)
{
}
if (!Array.Exists(departmentArray, element => element == department))
{
}
在本例中,底层逻辑如下所示:
!(departmentArray[0] == department || departmentArray[1] == department || ..)
在代码中,您有:
departmentArray[0] != department || departmentArray[1] != department || ..
代码
:
if (Array.Exists(departmentArray, element => element != department))
{
}
如果department
departmentArray
!=
存在任何元素,则true
,这就是为什么在这种情况下结果是 true
而不是 false
(显然departmentArray
中的字符串与 department
不同)。因此,如果您想检查department
是否不在departmentArray
请尝试以下操作:
bool IsNotInArray(String[] array, string element){
return !Array.Exists(array, e => e == element);
}