繁体   English   中英

比较一个字符串到多个字符串

[英]Compare a string to multiple strings

有没有一种方法可以一次将两个字符串与另一个字符串进行比较?

例:

string1 == string2 && string3;

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

通常,没有,没有办法像您要求的那样进行。

但是,如果要比较的字符串在某种类型的集合中,则可以执行以下操作:

 if (stringCollection.All(s => s == string1) )

除了Linq的All方法之外,您还可以使用List方法 ,例如TrueForAll

    string searchString = "hi";
    var listStrings = new List<string>() { "hi", "there" };
    bool allOfThem = listStrings.TrueForAll(x => x == searchString);
    bool atLeastOne = listStrings.Contains(searchString);

如果您不想处理将值放入集合或列表中的情况,可以执行如下扩展方法:

static class extensions
{
    private static bool InSet(this string s, params string[] p )
    {
        return p.Contains(s);
    }
}

然后,当您要测试字符串是否与集合中的值匹配时,可以执行以下操作:

if (String1.InSet(String2, String3))
{
    // do something.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM