如果可能,如何添加多个?

时间:2019-11-11 16:52:32

标签: c# if-statement

我对C#还是很陌生,希望在可能的情况下增加更多内容。如果这没有道理,则代码如下:

if (flatTextBox1.Text == "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8")                
{
    MessageBox.Show("Enjoy Goat Hub! Credits to oreo #####");
    this.Hide();
    Form3 form3 = new Form3();
    Form3 main = form3;
    main.Show();
}
else
{
    MessageBox.Show("Invalid Key or Key Copied Incorrectly");
}

我想要if (flatTextBox1.Text == "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8")            等于多个事物。因此,如果用户在文本框中输入这两种可能性中的任何一种,它将使他们能够访问表格3。

5 个答案:

答案 0 :(得分:2)

您可以在范围之外创建一个字符串数组,并检查该数组是否包含答案:

public string[] answers = {"XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8", "test", "test2"};

然后在您的方法中:

if(answers.Contains(textBox1.Text)) {
    MessageBox.Show("Enjoy Goat Hub! Credits to oreo #####");
    this.Hide();
    Form3 form3 = new Form3();
    Form3 main = form3;
    main.Show();
}

答案 1 :(得分:1)

var keys = {
    "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8",
    "...",
    "...",
    "etc"
};
if (!keys.Contains(flatTextBox1.Text))
{
    MessageBox.Show("Invalid Key or Key Copied Incorrectly");
    return; 
}

// If you make it here it's a success
//   and we've saved a level of indentation.

如果您在数据库或Web服务中处理比较,那就更好了。如果密钥嵌入在代码中,那么聪明的人 可以找到它们。

我还建议将其抽象为它自己的方法(这还将使稍后将其移至DB / Web服务更加容易):

bool IsValidKey(string input)
{
    var keys = {
        "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8",
        "...",
        "...",
        "etc"
    };
    return keys.Contains(input);
}

然后这样称呼它:

if (!IsValidKey(flatTextBox1.Text))
{
    MessageBox.Show("Invalid Key or Key Copied Incorrectly");
    return; 
}
//success 

答案 2 :(得分:1)

您可能正在if语句中寻找OR子句。例如

if (flatTextBox1.Text == "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8" || flatTextBox1.Text == "something else")

N.B这是一个简单的示例。一旦超过一个或两个值,您可能想要使用列表或数组之类的东西,并检查文本框内容是否与列表中的任何项目匹配

答案 3 :(得分:1)

ThePerplexedOne发布了可能是实现此目的更好的选择,但这是另一个选择:

您可以通过添加“ ||”来实现表示“或”条件,或“ &&”表示“与”条件。

对于您而言,您将执行以下操作:

    if (flatTextBox1.Text == "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8" || 
flatTextBox1.Text == "myTest" || flatTextBox1.Text == "otherText")

        {
        MessageBox.Show("Enjoy Goat Hub! Credits to oreo #####");
        this.Hide();
        Form3 form3 = new Form3();
        Form3 main = form3;
        main.Show();
    }
    else
    {
        MessageBox.Show("Invalid Key or Key Copied Incorrectly");
    }

答案 4 :(得分:0)

if (flatTextBox1.Text == "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8" || flatTextBox1.Text == "5s5dgGs55as4g4d844adsgd")
     {
                    MessageBox.Show("Enjoy Goat Hub! Credits to oreo #####");
                    this.Hide();
                    Form3 form3 = new Form3();
                    form3.Show();
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Invalid Key or Key Copied Incorrectly");
                }

if (new string[] { "XeC2YfjcEtzD6Kw7zkCssjDgoRmdZcv8", "5s5dgGs55as4g4d844adsgd" }.Contains(flatTextBox1.Text))
                {  
                MessageBox.Show("Enjoy Goat Hub! Credits to oreo #####");
                this.Close();
                Form3 form3 = new Form3();
                form3.Show();
                }
                else
                {
                MessageBox.Show("Invalid Key or Key Copied Incorrectly");
                }