有没有办法一次将两个字符串与另一个字符串进行比较?
示例:
string1 == string2 && string3;
(我知道这不是方法,只是表达我的意思)
答案 0 :(得分:8)
一般来说,不,没有办法像你要求的那样做。
但是,如果要比较的字符串在某种集合中,您可以这样做:
if (stringCollection.All(s => s == string1) )
答案 1 :(得分:0)
除了Linq的All方法,您还可以使用List methods,例如TrueForAll
string searchString = "hi";
var listStrings = new List<string>() { "hi", "there" };
bool allOfThem = listStrings.TrueForAll(x => x == searchString);
bool atLeastOne = listStrings.Contains(searchString);
答案 2 :(得分:0)
如果您不想处理将值放入集合或列表中,可以执行以下扩展方法:
static class extensions
{
private static bool InSet(this string s, params string[] p )
{
return p.Contains(s);
}
}
然后,当您想测试字符串是否与集合中的值匹配时,您可以执行此操作:
if (String1.InSet(String2, String3))
{
// do something.
}