以下陈述中是否有任何错误?
var str = "Hello how are you.";
MessageBox.Show("{0}",str);
我的问题出现在以下代码中,我没有正确使用它。以下代码是学习过程的一部分。在MessageBox中,'指定'变量不会像我上面所说的那样来!我最初发布它是因为我的无知,当我测试一些东西时,我可以使用MessageBox,如Console.WriteLine()。
abstract class Employee //Abstract class
{
public virtual void WhichCoEmployee()
{
MessageBox.Show("I am employed in XYZ Corporation as its {0}", designation); //My problem was in this line.
//designation varaiable was not received in
//placeholder {0} for display in MessageBox.Show.
}
public void Designation(string desig)
{
designation = desig;
}
public string designation { get; set; }
}
class CEO : Employee //Inheritance
{
public void Name()
{
MessageBox.Show("My name is Satheeshkumar K");
}
}
private void button2_Click(object sender, EventArgs e)
{
CEO ceo = new CEO(); //Initializing the CEO class.
ceo.Name();
ceo.Designation("CEO");
ceo.WhichCoEmployee();
}
后来我通过更改了问题来纠正MessageBox.Show问题 消息框代码。
MessageBox.Show("I am employed in XYZ Corporation as its " + designation);
工作得很好。我对此没什么好说的。作为stackoverflow的成员,由于其他成员的帮助,我确实帮助我学习了一些东西。
答案 0 :(得分:1)
只需更改
MessageBox.Show("I am employed in XYZ Corporation as its {0}", designation);
到
MessageBox.Show("I am employed in XYZ Corporation as its " + designation
);
没有。根据语法,您的两行似乎完全正确。
但似乎你想要达到的目标与你所做的不同......事情就是这样:你刚刚调用Show
MessageBox
方法的重载版本public static DialogResult Show(string text, string caption);
class,接受两个字符串。
Console.WriteLine("{0}", var);
因此,在您的情况下,一个带有" {0}"的消息框。文字和"你好,你好。"将显示标题。
然而,var
完全不同。它用于将输出打印到控制台。它还有许多重载变量,在这种情况下,它将用2016-12-27 NaN
2016-12-28 NaN
2016-12-29 NaN
2016-12-30 NaN
2016-12-31 NaN
Name: var_name, dtype: object
变量的值替换{0}。因此,"你好。你好。"将输出到控制台。