Lau*_*ani 6 c# arrays contains
有人可以向我解释为什么代码的顶部部分可以工作,但是当测试是一个数组时它没有
string test = "Customer - ";
if (test.Contains("Customer"))
{
test = "a";
}
Run Code Online (Sandbox Code Playgroud)
下面的代码不起作用
string[] test = { "Customer - " };
if (test.Contains("Customer"))
{
test[0] = "a";
}
Run Code Online (Sandbox Code Playgroud)
Yel*_*yev 10
在第一种情况下,您调用String.Contains哪个检查字符串是否包含子字符串.
所以,这种情况会恢复true.
在第二种情况下,调用Enumerable.Contains关于string[]它检查如果字符串数组包含特定值.
由于"Customer"您的集合中没有字符串,因此返回false.
这是两个类似的,但实际上是不同类型的不同方法.
如果要检查集合中的任何字符串是否包含"Customer"作为子字符串,则可以使用LINQ .Any():
if (test.Any(s => s.Contains("Customer"))
{
test[1] = "a";
}
Run Code Online (Sandbox Code Playgroud)