c#字符串比较错误

本文关键字:错误 比较 字符串 | 更新日期: 2023-09-27 18:13:27

我试图检查值是否存在于字符串数组中。下面的代码可以工作,但是当我尝试下一个代码块时,它失败了。

bool exixts;
string toCheck= "jupiter";
string[] printer = {"jupiter", "neptune", "pangea", "mercury", "sonic"};
if(printer.Contains(toCheck))
{
    exists = true;
}

如何检查修剪和大小写敏感性?

I tried this

bool exixts;
string toCheck= "jupiter   ";
string[] printer = {"jupiter", "neptune", "pangea", "mercury", "sonic"};
 if(printer.Contains(toCheck.Trim(),StringComparison.InvariantCultureIgnoreCase)))
{
    exists = true;
}

c#字符串比较错误

IEnumerable<string>.Contains(value, comparer)需要一个比较类实例,而不是枚举值。

库确实有一些现成的比较器可用:

//if(printer.Contains(toCheck.Trim(),StringComparison.InvariantCultureIgnoreCase)))
if (printer.Contains(toCheck.Trim(), StringComparer.OrdinalIgnoreCase)) 

或者你可以这样做,

bool exists = printer.Any(x=> x == toCheck.Trim());

希望帮助,