C# 创建一个接受一个字符串参数的方法,并进行搜索以查看其是否在列表中

C# 创建一个接受一个字符串参数的方法,并进行搜索以查看其是否在列表中,c#,methods,C#,Methods,如何创建一个接收字符串的方法,并检查该字符串是否是字符串列表的一部分。很抱歉措辞不恰当,但我的代码将理解我正在尝试做的事情 public static string CuswAnswer(string MyStr1) { if (MyStr1 == "$22 $1008" || "$22 $1009" || "$22 $102A" || "$22 $2001" || "$22 $2002" || "$22 $2003" || "$22 $2008" || "$22 $

如何创建一个接收字符串的方法,并检查该字符串是否是字符串列表的一部分。很抱歉措辞不恰当,但我的代码将理解我正在尝试做的事情

public static string CuswAnswer(string MyStr1)
    {


        if (MyStr1 == "$22 $1008" || "$22 $1009" || "$22 $102A" || "$22 $2001" || "$22 $2002" || "$22 $2003" || "$22 $2008" || "$22 $2009" || "$22 $200A" || "$22 $200B" || "$22 $200C" || "$22 $200F" || "$22 $2010" || "$22 $2024" || "$22 $292E" || "$22 $F100" || "$22 $F10B" || "$22 $F112" || "$22 $F122" || "$22 $F132" || "$22 $F158" || "$22 $F180" || "$22 $F181" || "$22 $F182" || "$22 $F184" || "$22 $F185" || "$22 $F186" || "$22 $F187" || "$22 $F18C" || "$22 $F190" || "$22 $F192" || "$22 $F193" || "$22 $F194" || "$22 $F195" || "$22 $F196" || "$22 $F1A0" || "$22 $F1A1" || "$22 $F1A4" || "$22 $F1A5")
        {
            string Answer = "Yes";
            return Answer;

        }
        else
        {
            String Answer = "No";
            return Answer;
        }


    }

这只适用于一个。一旦我把| |放进去,它就会说它做不到。

我建议将字符串存储在集合中

private List<string> stringCollection = new List<string> { "string1", "string2", "string3" };

private string check(string input){
    if (stringCollection.Contains (input))
        return "Yes";
    else
        return "No";
}
你可以在下面的链接上找到更有用的方法和更详细的解释

用法:

勾选(“string1”);//返回“是”

勾选(“string4”);//返回“否”

注意事项:


我建议将字符串存储在集合中

private List<string> stringCollection = new List<string> { "string1", "string2", "string3" };

private string check(string input){
    if (stringCollection.Contains (input))
        return "Yes";
    else
        return "No";
}
你可以在下面的链接上找到更有用的方法和更详细的解释

用法:

勾选(“string1”);//返回“是”

勾选(“string4”);//返回“否”

注意事项:


您可以通过
MyStr1==“$22$1008”| | MyStr1==“$22$1009”| | | | | | | | | |或者您可以将所有可能的值放在一个列表中,然后只需使用
if(myList.Contains(MyStr1))
MyStr1==“$22$1008”| | | MyStr1=”
,或者你可以把所有可能的值放在一个列表中,然后简单地使用
if(myList.Contains(MyStr1))

你真的应该解释一下。你真的应该解释一下。我看没有人告诉过你为什么你所做的不起作用。。。您应该使用
MyStr1==“first”| |“second”
,而不是
MyStr1==“first”| | MyStr1==“second”
。将计算
|
前面的表达式,如果为false,将计算下一个表达式。如果下一个表达式只是一个字符串(
“$22$102A”
),则该表达式的计算结果将不会为true或false,因为它只是一个字符串。也就是说,盖布下面的答案是解决你问题的合适方法。我看没有人告诉你为什么你所做的不起作用。。。您应该使用
MyStr1==“first”| |“second”
,而不是
MyStr1==“first”| | MyStr1==“second”
。将计算
|
前面的表达式,如果为false,将计算下一个表达式。如果下一个表达式只是一个字符串(
“$22$102A”
),则该表达式的计算结果将不会为true或false,因为它只是一个字符串。也就是说,Gabe下面的答案是解决问题的合适方法。