将字符串与多个字符串进行比较

时间:2014-03-18 15:40:33

标签: c#

有没有办法一次将两个字符串与另一个字符串进行比较?

示例:

string1 == string2 && string3;

(我知道这不是方法,只是表达我的意思)

3 个答案:

答案 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.
}