为什么我的结果没有像我期望的那样写入控制台?

时间:2019-07-12 22:36:50

标签: c#

我正在编写一个程序,可以让您输入两个数字并为其提供所有的数学答案。因此像乘法,除法等。问题是当我运行它时,它要求输入,然后只显示所有运算符字符串,但为空,然后在此结束。

我尝试制作一个数组,然后将其设置为等于Console.WriteLines中的运算符,但这没用。

static void Main(string[] args)
{
    Console.WriteLine("Input any two numbers.");

    var number1 = int.Parse(Console.ReadLine());
    var number2 = int.Parse(Console.ReadLine());

    Console.WriteLine("Addition: ", + (number1 + number2));
    Console.WriteLine("Division: ", + (number1 / number2));
    Console.WriteLine("Subtraction: ", + (number1 - number2));
    Console.WriteLine("Multiplication: ", + (number1 * number2));
}

2 个答案:

答案 0 :(得分:7)

您写道:

Console.WriteLine("Addition: ", + (number1 + number2));

你打算写

Console.WriteLine("Addition: " + (number1 + number2));

请注意,您添加了一个逗号。

此代码是合法的,但样式不好。参见下文,了解编写此内容的更好方法。

您编写的代码是什么意思? Console.WriteLine可让您执行以下操作:

Console.WriteLine("Addition:{0} + {1} = {2}", number1, number2, number1 + number2);

也就是说,“将{0}替换为第一行,{1}替换为第二行,依此类推”。

因此,您编写的代码是“将{0}替换为+(number1+number2)的值,但是您没有{0},所以什么也没发生。

今天将是您学习插值字符串的好日子:

Console.WriteLine($"{number1} + {number2} = {number1 + number2}");

注意$表示该字符串已插入。 {}中的表达式将被求值并转换为文本。

答案 1 :(得分:2)

与字符串串联将返回字符串,但是您必须这样写:Console.WriteLine("Division: "+(number1 / number2));

您还可以使用占位符Console.WriteLine("Division: {0}",(number1 / number2));

或字符串插值Console.WriteLine($"Division: {number1 / number2}");