运算符“>”和“<”不能应用于 'string' 和 'string' C# 类型的操作数
Operator '>' and '<' cannot be applied to operands of type 'string' and 'string' C#
2015 年 Visual Studio 制作的 C# 程序要求用户猜测 1-10 中的一个数字,该数字将告诉用户猜测是否正确,是否大于或小于必须猜测的值。
static void Main(string[] args)
{
string rightGuess = "7";
Console.WriteLine("Guess the right number from 1-10: ");
string userGuess;
userGuess = Console.ReadLine();
{
if (userGuess == rightGuess)
Console.WriteLine("You guessed right!");
else if (userGuess > rightGuess)
Console.WriteLine("Wrong guess. Your guess was greater than the right guess.");
else (userGuess < rightGuess)
Console.WriteLine("Wrong guess. Your guess was lesser than the right guess.");
}
}
程序 returns 在 Visual Studio 2015 年出现以下错误:
研究了大约一个小时 Google 如何解决错误,但 none 的解决方案修复了错误。
您需要比较整数而不是字符串(以实现那种比较),将此行更改为:
int rightGuess = 7;
int userGuess = int.Parse(Console.ReadLine());
它会起作用的。当然你可以添加 int.TryParse
并检查输入是否实际上是一个 int
int userGuess;
if(int.TryParse(Console.ReadLine(), out userGuess))
{
... do your logic
}
else
{
Console.WriteLine("Not a number");
}
使用 int.Parse/TryParse 或使用 String.CompareTo().
将字符串转换为数值
您应该使用正确的数据类型进行比较
int rightGuess = 7;
Console.WriteLine("Guess the right number from 1-10: ");
int userGuess;
userGuess = int.Parse(Console.ReadLine());
{
if (userGuess == rightGuess)
Console.WriteLine("You guessed right!");
else if (userGuess > rightGuess)
Console.WriteLine("Wrong guess. Your guess was greater than the right guess.");
else (userGuess < rightGuess)
Console.WriteLine("Wrong guess. Your guess was lesser than the right guess.");
}
当你说 "Mohit" 大于 "Mikex64" 时这样想是否有意义。 没有
但是2大于1才有意义。因此我们可以写成 2 > 1 但不能写成 "Mohit" > "Mikex64" 因此你会得到这个错误信息。
编辑:编辑代码中的 "greater than" 和 "lesser than" 操作数以使其准确,因为我第一次写错了。
2015 年 Visual Studio 制作的 C# 程序要求用户猜测 1-10 中的一个数字,该数字将告诉用户猜测是否正确,是否大于或小于必须猜测的值。
static void Main(string[] args)
{
string rightGuess = "7";
Console.WriteLine("Guess the right number from 1-10: ");
string userGuess;
userGuess = Console.ReadLine();
{
if (userGuess == rightGuess)
Console.WriteLine("You guessed right!");
else if (userGuess > rightGuess)
Console.WriteLine("Wrong guess. Your guess was greater than the right guess.");
else (userGuess < rightGuess)
Console.WriteLine("Wrong guess. Your guess was lesser than the right guess.");
}
}
程序 returns 在 Visual Studio 2015 年出现以下错误:
研究了大约一个小时 Google 如何解决错误,但 none 的解决方案修复了错误。
您需要比较整数而不是字符串(以实现那种比较),将此行更改为:
int rightGuess = 7;
int userGuess = int.Parse(Console.ReadLine());
它会起作用的。当然你可以添加 int.TryParse
并检查输入是否实际上是一个 int
int userGuess;
if(int.TryParse(Console.ReadLine(), out userGuess))
{
... do your logic
}
else
{
Console.WriteLine("Not a number");
}
使用 int.Parse/TryParse 或使用 String.CompareTo().
将字符串转换为数值您应该使用正确的数据类型进行比较
int rightGuess = 7;
Console.WriteLine("Guess the right number from 1-10: ");
int userGuess;
userGuess = int.Parse(Console.ReadLine());
{
if (userGuess == rightGuess)
Console.WriteLine("You guessed right!");
else if (userGuess > rightGuess)
Console.WriteLine("Wrong guess. Your guess was greater than the right guess.");
else (userGuess < rightGuess)
Console.WriteLine("Wrong guess. Your guess was lesser than the right guess.");
}
当你说 "Mohit" 大于 "Mikex64" 时这样想是否有意义。 没有
但是2大于1才有意义。因此我们可以写成 2 > 1 但不能写成 "Mohit" > "Mikex64" 因此你会得到这个错误信息。
编辑:编辑代码中的 "greater than" 和 "lesser than" 操作数以使其准确,因为我第一次写错了。