Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将一个字符串与多个字符串进行比较_C# - Fatal编程技术网

C# 将一个字符串与多个字符串进行比较

C# 将一个字符串与多个字符串进行比较,c#,C#,有没有一种方法可以同时将两个字符串与另一个字符串进行比较 例如: string1 == string2 && string3; 我知道这不是方法,只是我的意思的一种表达。一般来说,不,没有办法像你要求的那样去做 但是,如果要比较的字符串位于某种类型的集合中,则可以执行以下操作: if (stringCollection.All(s => s == string1) ) if (String1.InSet(String2, String3)) { // do s

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

例如:

string1 == string2 && string3;

我知道这不是方法,只是我的意思的一种表达。一般来说,不,没有办法像你要求的那样去做

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

 if (stringCollection.All(s => s == string1) )
if (String1.InSet(String2, String3))
{
    // do something.
}

一般来说,没有,没有办法像你要求的那样做

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

 if (stringCollection.All(s => s == string1) )
if (String1.InSet(String2, String3))
{
    // do something.
}

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


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


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

static class extensions
{
    private static bool InSet(this string s, params string[] p )
    {
        return p.Contains(s);
    }
}
然后,当您要测试字符串是否与集合中的值匹配时,可以执行以下操作:

 if (stringCollection.All(s => s == string1) )
if (String1.InSet(String2, String3))
{
    // do something.
}

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

static class extensions
{
    private static bool InSet(this string s, params string[] p )
    {
        return p.Contains(s);
    }
}
然后,当您要测试字符串是否与集合中的值匹配时,可以执行以下操作:

 if (stringCollection.All(s => s == string1) )
if (String1.InSet(String2, String3))
{
    // do something.
}

&或者&&看起来像是VB.NET。这是故意的吗?string1==string2==string3???@Bolu,哇。。。。。。删除它。@Bolu string1==string2是bool,然后bool==string3&或&&&看起来像是VB.NET。这是故意的吗?string1==string2==string3???@Bolu,哇。。。。。。删除它。@Bolu string1==string2是bool,然后bool==string3。或者如果stringCollection.Anys=>s==string1。如果所有元素都匹配,则All返回true。Any返回true,如果一个或多个元素只是想澄清,是将集合中的所有字符串相互比较,还是仅将一个字符串与所有其他字符串进行比较?@Callum It将一个字符串与所有其他字符串进行比较。。。但由于您使用了AND运算符,因此它应该与伪代码在此处查找的内容相匹配。@Callum:s=>s部分。。。指其他字符串,string2和String3,它们应该在collection@JoelCoehoorn是的,这正是我想要的,但由于它们还没有出现在一个集合中,所以只进行两次比较可能会更容易。无论如何谢谢你!或者如果stringCollection.Anys=>s==string1。如果所有元素都匹配,则All返回true。Any返回true,如果一个或多个元素只是想澄清,是将集合中的所有字符串相互比较,还是仅将一个字符串与所有其他字符串进行比较?@Callum It将一个字符串与所有其他字符串进行比较。。。但由于您使用了AND运算符,因此它应该与伪代码在此处查找的内容相匹配。@Callum:s=>s部分。。。指其他字符串,string2和String3,它们应该在collection@JoelCoehoorn是的,这正是我想要的,但由于它们还没有出现在一个集合中,所以只进行两次比较可能会更容易。无论如何谢谢你!我想补充一点,这个解决方案可以使用任意数量的参数。我想补充一点,这个解决方案可以使用任意数量的参数。