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

System.FormatException:';输入字符串的格式不正确;C#,初学者,c#,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");

这就是问题所在:

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:'输入字符串的格式不正确。'


您的行格式不正确

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


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

接下来的数字是:{0}(1}{2}


您将
{
错放为
在占位符1处。

为了避免此类错误,我建议以后使用

Console.WriteLine("The next numbers are:{0}{1}{2}", num1, num2, num3);
你可以这样利用:

Console.WriteLine($"The next numbers are:{num1}{num2}{num3}");
它有两个优点:

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

你在输入什么?格式字符串看起来不错。我猜它真的发生在
int.Parse
@DanielA.White我试着输入一个数字,然后输出应该是后面的3个数字。@DanielA.White那里实际上有一个打字错误,如回答中所示。哦,是的,伙计,我没有注意到,谢谢!顺便说一句,你们当中有人吗你有时间私下里帮我解决一些基本的和愚蠢的问题吗?谢谢。所以…这是一个打字错误的问题,应该以这样的方式结束而不是回答。是的,肯定有人想私下里帮我解决一些基本的问题后我会关闭它。我希望这是允许的!