Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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# 将textbox.Text与变量进行比较_C# - Fatal编程技术网

C# 将textbox.Text与变量进行比较

C# 将textbox.Text与变量进行比较,c#,C#,我将textBox2.text与一个名为“word”的变量进行比较,word包含一个来自txt文件的随机单词。用户需要通过将单词放入文本框2来猜测单词,如果用户是正确的,则会出现一个消息框,显示他赢了 我写的代码没有显示任何错误,对我来说似乎很好,也许他们用其他方法来实现这个应用程序 string word; // variable for random word generated word = RandomWord(); // Calling random word generator m

我将textBox2.text与一个名为“word”的变量进行比较,word包含一个来自txt文件的随机单词。用户需要通过将单词放入文本框2来猜测单词,如果用户是正确的,则会出现一个消息框,显示他赢了

我写的代码没有显示任何错误,对我来说似乎很好,也许他们用其他方法来实现这个应用程序

string word; // variable for random word generated 
word = RandomWord(); // Calling random word generator method

private void button2_Click(object sender, EventArgs e)
    {

        if (textBox2.Text == word)
        {
            label4.Text = "You Won";
            MessageBox.Show("You Guessed The Word = " + (word), "You won");
        }
        else
        {
            DoesNotMatch();

        }
    }

首先,像我在这个答案中所做的那样修正你的格式。然后,关于字符串,有一些事情需要记住:

  • 它们是可为空的
    类型
    
  • 即使一个字符的大小写不同,也会破坏平等
  • 任何空格,包括尾随空格/填充,都可能破坏相等性

    string word; // variable for random word generated word = RandomWord(); 
    // Calling random word generator method  
    private void button2_Click(object sender, EventArgs e) {    
         if(textBox2.Text != null && textBox2.Text.Trim() != string.Empty)
            {
              if (textBox2.Text.Trim().ToLower() == word.Trim().ToLower())
              {
                  label4.Text = "You Won";
                  MessageBox.Show("You Guessed The Word = " + (word), "You won");
              }
              else
              {
                  DoesNotMatch();    
              }
            } else { throw new ApplicationException("Invalid entry, please try again.");}
        }
    

  • 考虑到这些问题,我应用了
    string.Trim()
    .Lower()
    ,以确保清除所有空白并忽略大小写。在此之前,我确认文本实际上存在于
    控件的
    .text
    属性中。如果不是,我们将抛出一个异常(尽管您可能只想弹出一个消息框)。有更干净的方法可以做到这一点并解释各种文化差异,但这是在办公室环境中通常看到的快速、肮脏的方式。

    我忘了提到编写的代码不起作用解释“不起作用”。会发生什么?此外,请编辑您的问题,并提供类似的详细信息,不要在评论中发布。确保区分大小写。此外,请花时间在您的帖子中格式化代码-想象您正在尝试回答问题。。。你希望这个问题看起来怎么样?案例很重要
    word
    不等于–word`或
    word
    。尝试类似于
    textBox2.Text.Trim().ToLower()==word.Trim().ToLower()