C#字符串比较错误

C# string comparision error

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

bool exixts;
string toCheck= "jupiter";

string[] printer = {"jupiter", "neptune", "pangea", "mercury", "sonic"};

if(printer.Contains(toCheck))
{
    exists = true;
}

如何检查 trim 和区分大小写?

我试过了

bool exixts;
string toCheck= "jupiter   ";

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

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

图书馆确实有一些现成的比较器可用:

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

或者你可以这样做,

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

希望有所帮助,