我有一个字符串数组
string[] tmp = foo();
如果foo中的字符串中没有一个包含“bar”或“baz”,我想执行一些代码。
这是查询此对象的正确方法吗?
if(!tmp.Any(p => p.ToLower().Contains("bar") || p.ToLower().Contains("baz"))
doSomething();
||看起来很傻。我应该在这里使用正则表达式,还是有更好的方法呢? ***还请注意,tmp中的值就像
"bar=someValue"
一样,如查询字符串。这段代码可以正常工作,但是我敢肯定它可以写得更好。感谢您提供任何反馈提示。 最佳答案
好点?我不知道,但应该可以。
if(!tmp.Select(x => x.Split('=')[0])
.Intersect(new[] { "foo", "baz" },
StringComparer.InvariantCultureIgnoreCase).Any())
doSomething();
关于c# - Linq在C#中查询字符串数组是否包含两个值之一?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13381930/