当与字符串连接时,String不会解析为Int32

时间:2014-09-03 06:44:16

标签: c# string parsing

我正在做作业,但在做这件事时出现了一些问题。我正在将字符串值解析为Int32,然后将其连接到字符串。任务是获得用户的年龄,并在10年内给他他的年龄。

但是,当我尝试将var age添加到字符串时,它不会作为int而是作为字符串保留。这里:Console.WriteLine("你10年后的年龄将是:" +年龄+10);这输出2210而不是32。

如果我只打印var age + 10,则输出32。

为什么我会得到这个结果?

using System;

namespace _07App
{
class Program
{
    static void Main()
    {
        Console.WriteLine("What is your age");
        var age = Int32.Parse(Console.ReadLine());
        Console.WriteLine("Your age in 10 years will be: "+ age + 10);
        Console.WriteLine(age + 10);
    }
  }
}

3 个答案:

答案 0 :(得分:3)

这看起来是一个运算符优先级问题,因为在将FirstName添加到字符串之前将其添加到字符串中。

Console.WriteLine("Your age in 10 years will be: " +(FirstName + 10));

答案 1 :(得分:1)

在使用字符串连接时添加int值时使用()

Console.WriteLine("Your age in 10 years will be: "+ (FirstName + 10));

答案 2 :(得分:1)

更改为:

Console.WriteLine("Your age in 10 years will be: "+ (age+ 10));

因为Console.WriteLine("Your age in 10 years will be: "+ age + 10);会将年龄自动转换为String =“10”+“10”=“1010”