System.FormatException:'输入字符串的格式不正确。' C#,初学者

时间:2018-06-10 19:16:55

标签: c#

这是问题所在:

using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp6
{
    class Program
    {
        static void Main(string[] args)
        {

            int num, num1, num2, num3;
            Console.WriteLine("Enter a number");
            num = int.Parse(Console.ReadLine());
            num1 = num + 1;
            num2 = num + 2;
            num3 = num + 3;

            // The following line throws the error
            Console.WriteLine("The next numbers are:{0}(1}{2}", num1, num2, num3);
            Console.ReadKey();
        }
    }
}

我尝试开始,它写了注释行:

  

System.FormatException:'输入字符串的格式不正确。'

3 个答案:

答案 0 :(得分:4)

你的行格式不正确

Console.WriteLine("The next numbers are:{0}(1}{2}", num1, num2, num3);
                                           ^

将其更改为{

您收到错误,因为只指定了两个输入括号,但是您提供了三个参数。

答案 1 :(得分:1)

The next numbers are:{0}(1}{2}

您在占位符1上将{放错了(

答案 2 :(得分:0)

为了摆脱这样的错误,我建议将来代替

Console.WriteLine("The next numbers are:{0}{1}{2}", num1, num2, num3);

你可以像这样使用interpolated strings

Console.WriteLine($"The next numbers are:{num1}{num2}{num3}");

有两个好处:

  • 您可以直接将所有参数写入字符串
  • 编译器将检测拼写错误,例如{0}(1}{2}