运算符/不能应用于字符串和双C#的操作数
c#
抱歉,我是 C# 新手,我相信我没有正确地将字符串转换为 int。任何帮助
using System;
namespace planetage
{
class Program
{
static void Main(string[] args)
{
const double jupiterYears = 11.86;
string userAge;
Console.WriteLine("Please enter your age"); //Ask for users age
Convert.ToInt32(userAge = Console.ReadLine()); //take users age
double mercuryAge = userAge / jupiterYears; //error message shows for this line
}
}
}
回答
这一行:
Convert.ToInt32(userAge = Console.ReadLine());
- 读取一行文本
- 将其存储在
userAge
字符串变量中 Convert.ToInt32
使用该文本呼叫- 忽略结果
相反,您想要:
int userAge = Convert.ToInt32(Console.ReadLine());
(并删除 的较早声明userAge
。一般来说,最好在首次知道局部变量的值时声明局部变量。偶尔这是不可能的,例如,如果有条件地分配值,但通常没问题。)