2014-03-13 66 views
1

我想用switch case中的方法添加两个整数。我想通过调用WriteLine来显示答案,但结果不显示。Console.WriteLine不打印第二个参数

static void Main(string[] args) 
{   
    Console.WriteLine(
     "Simple Calculator\n\t" + 
     " 1) Add\n\t" + 
     " 2) Subtract\n\t" + 
     " 3) Multiply\n\t" + 
     " 4) Divide\n\t" + 
     " 5) Quit\n\t", input); 

    Console.Write("Enter Selection: "); 
    input = Convert.ToInt32(Console.ReadLine()); 

    switch (input) 
    { 
     case 1: 
      Console.WriteLine("Results:", Add(num1,num2)); 
      break; 
    }   
} 

public static double Add(double num1, double num2) 
{ 
    return num1 + num2; 
} 
+1

把它写成Console.WriteLine(“Result:”+ Add(num1,num2)) – mhs

+0

你真的应该比“结果不显示”更具体 - 给出预期的和实际的输出。另外,我改变了标题,关注实际问题。将来,请构建一个[**最小**,完整,测试和可读的示例](http://stackoverflow.com/help/mcve) - 如果您这样做了,您可能会以1在线程序类似于Console.WriteLine(“Results:”,1);',经过适当的研究努力,你会找到一个关于如何使用'WriteLine'的例子,而没有问过问题,或者能够自己回答。 – Dukeling

回答

5

你的问题在于你如何使用Console.WriteLine和字符串格式。

Console.WriteLine("Result: {0}", Add(num1, num2)) 

是你想要的。

阅读全文here

编辑 @narakaya提到你也可以采取隐串铸造的优势,只是+两个参数:

Console.WriteLine("Result: " + Add(num1, num2)) 
0

当你写Console.WriteLine("Results:",Add(num1,num2));你不送参数的WriteLine方法。你应该尝试:Console.WriteLine("Results {0}:",Add(num1,num2))和{0}是你的第一个参数Add(num1,num2)