【问题标题】:Create method using String. C# [closed]使用字符串创建方法。 C# [关闭]
【发布时间】:2012-11-16 12:00:01
【问题描述】:

我试图创建一个方法,该方法将在 MessageBox 中生成标题为“The Title”的“Adam”。此代码不起作用。这是因为 return 只能返回一个值,例如仅字符串名称?如果我删除标题选项,它工作正常。任何想法都会很棒。

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

}

}

【问题讨论】:

  • 你必须返回一个字符串类型的对象。所以你必须返回名称+标题。
  • return string.Concat(name,title);return name + title;
  • 为什么要一种方法来设置文本和标题?一个方法只能返回一个实例(一种数据类型)。要么使用两种方法来生成 Title 和 Message,要么直接从您的方法中调用 MessageBox.Show。请进一步说明您要达到的目标。
  • 嗨,没问题。我想可能是这样。当我使用 void 而不是字符串时,我可以生成一个方法,它同时具有 MessageBox 中的名称和 MessageBox 的标题。我想我很困惑我如何可以有两个带有 void 的值,但只有一个带有字符串的值。 private void button1_Click(object sender, EventArgs e) { myMethod("Adam", "The Title"); } void myMethod(string name, string title) { MessageBox.Show(name,title); }

标签: c# string methods


【解决方案1】:

试试这个:

 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);       
        }

【讨论】:

  • 标题可能应该是 Show 方法的第二个参数,因为 OP 说他希望标题是“标题”。但这个问题相当令人困惑。
  • 同意,这个想法是他使用了错误的回报并不重要
  • 您好,感谢您的回答。这会在 MessageBox 中生成名称和标题,这很有用,因为我还需要知道如何执行此操作。抱歉,我相信您已经猜到了,我是编程新手。我试图在 MessageBox 中使用名称为“Adam”的 MessageBox 标题为“The Title”。有什么想法吗?
  • 检查我的编辑,也许这是你需要的。文本框标题上的标题
  • 是的,当然,我忘记将函数更改为方法,但代码有效。已经更改,我从前一个复制/粘贴以避免重新输入
【解决方案2】:

一个方法只能返回一个值。返回的值可以是复杂类型,因此您可以通过创建自己的数据类型(或使用内置类型)返回多个字符串:

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 可以对参数进行查找或操作,以生成返回的消息。

正如这里已经讨论过的,另一种方法是让myMethod 处理消息框的显示。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    相关资源
    最近更新 更多