0

「The Title」というタイトルの MessageBox に「Adam」を生成するメソッドを作成しようとしていました。このコードは機能していません。これは、return が 1 つの値 (文字列名のみなど) しか返せないためですか? タイトル オプションを削除すると、正常に動作します。どんなアイデアでも素晴らしいでしょう。

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(myMethod("Adam", "The Title"));
    }
    string myMethod(string name, string title)
    {
        return name, title;             
    }

}

}

4

2 に答える 2

4

これを試して:

 private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(myMethod("Adam", "The Title"));
    }
    string myMethod(string name, string title)
    {
        return name + " " + title;             
    }

編集:texboxに「タイトル」を表示するには

  private void button1_Click(object sender, EventArgs e)
        {
           myMethod("Adam", "The Title");
        }
        void myMethod(string name, string title)
        {
             MessageBox.Show(name,title);       
        }
于 2012-11-16T12:01:45.213 に答える
0

メソッドが返すことができる値は1つだけです。返される値は複合型である可能性があるため、独自のデータ型を作成する(または組み込み型を使用する)ことで複数の文字列を返すことができます。

class Message
{
   public string Title {get; set;}
   public string Message {get; set;}
}

これを使用して行うことができます

private void button1_Click(object sender, EventArgs e)
{
    var message = MyMethod("Title", "Message");
    MessageBox.Show(message.Title, message.Message);
}

Message myMethod(string name, string title)
{
    return new Message{Title = title, Message = name};             
}

このシナリオを考えると、それはかなり無意味ですがmyMethod、返されるメッセージを生成するために、引数のルックアップまたは操作を行うことができます。

もう1つの方法は、ここですでに説明したようmyMethodに、メッセージボックスの表示を処理できるようにすることです。

private void button1_Click(object sender, EventArgs e)
{
    myMethod("Adam", "The Title");
}
void myMethod(string name, string title)
{
    MessageBox.Show(name,title);       
}
于 2012-11-16T12:33:58.547 に答える