为什么我在写MsgBox时不能使用{0}?

use*_*636 1 c#

如果我想展示一些东西,console我通常会这样写:Console.Write("Hello{0}", AnyNumber);.

但是,如果我使用Interaction.MsgBox并写入,Interaction.MsgBox("Hello {0}, AnyNumber");我会收到错误,为什么会这样?

我喜欢在编写时使用{0}+(字符串连接)更多的占位符,我认为编写它更容易...

所以我的问题是:为什么我不能在MsgBox中使用占位符,还有其他方法可以使用它们吗?

这是一个如何在MsgBox中使用它的示例:

static void multiplikation(int tal1, int tal2)
{        
    if (tal1*tal2 == 100)
    {
          Interaction.MsgBox("Hello!\nResult:\n" + (tal1 * tal2));
    }
    else
    {
          Interaction.MsgBox("Resultat:\n" + (tal1 * tal2));
    }
}
static void addition(int tal1, int tal2)
{
    if (tal1 + tal2 == 100)
    {
         Console.Write("Hello!\nResult:{0}\n", (tal1 + tal2));
    }
    else
    {
         Console.Write("Resultat:{0}\n", (tal1 + tal2));
    }
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*nan 5

Interaction.MsgBox接收一个字符串作为其第一个参数.如果要格式化字符串,则必须自己执行此操作,并将格式化的字符串传递给Interaction.MsgBox:

Interaction.MsgBox(string.Format("Hello!\nResult:{0}\n", (tal1 + tal2)));
Run Code Online (Sandbox Code Playgroud)

另一方面,Console.Write编写了重载,允许在内部执行格式化Console.Write.