首页 > 解决方案 > 有人可以解释为什么我必须将 _one 转换为字符串,但在以下 C# 代码中将其他 3 个变量转换为字符串?

问题描述

我不明白为什么我得到一个无法转换为字符串的 _one 而不是其他 3!是的,我是编程新手,我想弄清楚为什么 stackoverflow 要求我输入比我需要问的问题更多的单词!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace diviTwo
{
    class Program
    {
        static void Main(string[] args)
        {
            //Print Test Problems
            var n = "\n";
            var one = "-1 + 4 * 6";
            var two = "(35 + 5) % 7";
            var three = "14 + -4 * 6 / 11";
            var four = "2 + 15 / 16 * 1 - 7 % 2";
            Console.WriteLine(one+ n+ two+ n+ three+ n+ four+ n);

            //Print Results of Test Problems
            var _one = -1 + 4 * 6;
            var _two = (35 + 5) % 7;
            var _three = 14 + -4 * 6 / 11;
            var _four = (2 + 15) / ((16 * 1) - (7 % 2));
            Console.WriteLine(Convert.ToString(_one)+ n+ _two+ n+ _three+ n+ _four+ n);
        }
    }
}

标签: c#

解决方案


没有什么特别之处_one,只是如果第一项是字符串,C# 知道您要将其他所有内容视为字符串并将它们连接起来。如果你这样做,你会得到相同的结果

Console.WriteLine("Result=" + _one + n + _two + n + _three + n + _four + n);

如果您只是提供了一个全部为整数的变量列表,C# 会将它们相加并给出结果。但是,您从一个数字开始并添加一个字符串,因此 C# 不知道该怎么做。


推荐阅读