为什么这个有错误,我该如何纠正呢?

时间:2013-12-08 09:44:30

标签: c#

public void FilenameHasWord(string filename, string word)
    {   
        Boolean red = filename.Contains(word);
        if (red == true)
        {
           MessageBox.Show(" the filename contains the word");
           if (red == false)  
           {
        MessageBox.Show(" the filename does not contain the word");
           }


private void button2_Click(object sender, EventArgs e)
    {
        FilenameHasWord();
        string filename = "textBox1.Text";
        string word = "textBox2.Text";
    }    

4 个答案:

答案 0 :(得分:3)

这里有点混乱,我想你想要:

public void FilenameHasWord(string filename, string word)
{   

    Boolean red = filename.Contains(word);
    if (red == true)
    {
        MessageBox.Show(" the filename contains the word");
    }
    else
    {
        MessageBox.Show(" the filename does not contain the word");
    }
 }

 private void button2_Click(object sender, EventArgs e)
 {
    string filename = textBox1.Text;
    string word = textBox2.Text;
    FilenameHasWord(filename, word);
 }    

首先,使用Contains的测试返回TRUE或FALSE所以if / else语句显示结果,而不是if(false)if(true)然后,当你调用函数时,你应该通过两个字符串参数。这两个字符串参数应该是文本框的内容,这个内容用表示文本框的变量表示,后跟属性Text,不带双引号。

现在,重新阅读你的留言箱文字,我有一个疑问。你对the filename (does not) contains the word有什么意思? string.Contains方法检查字符串是否包含另一个字符串。

string.Contains不会尝试使用实例字符串,假设它是文件的名称,并且不检查该假定文件是否包含作为参数传递的单词。

答案 1 :(得分:1)

您的函数FilenameHasWord()需要两个参数。你打电话的时候没有通过 另外,您要声明两个字符串分别包含“textBox1.Text”和“textBox2.Text”,也许您需要删除这些引号。

答案 2 :(得分:0)

请尝试这个 - 它解决了:

  1. 未正确读取文本框值的问题
  2. FilenameHasWord方法需要2个参数
  3. 大括号不匹配

    public void FilenameHasWord(string filename, string word)
    {   
        if (filename.Contains(word))
        {
            MessageBox.Show(" the filename contains the word");
        }
        else
        {
            MessageBox.Show(" the filename does not contain the word");
        }
     }
    
    private void button2_Click(object sender, EventArgs e)
    {
        string filename = textBox1.Text;
        string word = textBox2.Text;
        FilenameHasWord(filename,word);
    
    }    
    

答案 3 :(得分:-1)

1。您需要在TextBox1TextBox2控件中指定值。但在您的代码中,您将TextBox1和TextBox2指定为字符串。

2. 您需要将这些值分配给FilenameHasWord()函数,因为它需要两个参数。

试试这个:

public void FilenameHasWord(string filename, string word)
{   

    Boolean red = filename.Contains(word);
    if (red == true)
    {
    MessageBox.Show(" the filename contains the word");    
    }

     if (red == false)
     {
      MessageBox.Show(" the filename does not contain the word");
     }
 }
private void button2_Click(object sender, EventArgs e)
{

    string filename = textBox1.Text;
    string word = textBox2.Text;
    FilenameHasWord(filename,word);

}