我正在尝试学习C#,但我遇到以下代码的问题:
using System;
class IfSelect
{
public static void Main()
{
string myInput;
int myInt;
Console.Write("Please enter a number: ");
myInput = Console.ReadLine();
myInt = Int32.Parse(myInput);
if (myInt = 10)
{
Console.WriteLine("Your number is 10.", myInt);
}
}
}
答案 0 :(得分:24)
if(myInt = 10)
将值10赋给myInt
,而不是检查是否相等。它应该成为:
if(myInt == 10)
这是测试相等性的正确语法。
答案 1 :(得分:12)
此:
if (myInt = 10)
需要这样:
if (myInt == 10)
或者也可能是这样:
if(myInt.Equals(10))
我知道这可能只是一个错字,但我想我还是会包含这个链接:
http://msdn.microsoft.com/en-us/library/53k8ybth.aspx
这是指向Equals功能的链接:
http://msdn.microsoft.com/en-us/library/ms173147(VS.80).aspx
实际上
这:myInt = Int32.Parse(myInput);
也应该是这样的事情
int myInt;
if(Int32.TryParse(myInput, out myInt))
{
rest of code.
}
else
{
Console.WriteLine("You didn't provide a number");
}
以防提供的输入不是数字。
http://msdn.microsoft.com/en-us/library/system.int32.tryparse.aspx
答案 2 :(得分:7)
而不是if (myInt = 10)
,您需要使用if (myInt == 10)
。
第一个是赋值运算符,第二个是比较运算符。
答案 3 :(得分:5)
你的if语句是为myInt分配10而不是测试是否相等。
这样做:
if(myInt == 10)
答案 4 :(得分:4)
更改
if (myInt = 10)
到
if (myInt == 10)
答案 5 :(得分:3)
Offhand,您正在使用赋值运算符,而不是相等运算符。 if (myInt = 10)
应该是if (myInt == 10)
。
另外,
Console.WriteLine("Your number is 10.", myInt);
myInt
参数毫无意义。应该使用
Console.WriteLine("Your number is 10.");
或
Console.WriteLine("Your number is {0}.", myInt);
答案 6 :(得分:2)
if (myInt = 10)
{
Console.WriteLine("Your number is 10.", myInt);
}
应将=
更改为==
以检查是否相等
答案 7 :(得分:1)
我认为有三个问题:
如果有,
Console.WriteLine(“你的号码是10”,myInt);
将始终显示10。
您将无法看到结果。
尝试以下方法:
class IfSelect
{
public static void Main()
{
string myInput;
int myInt;
Console.Write("Please enter a number: ");
myInput = Console.ReadLine();
myInt = Int32.Parse(myInput);
if (myInt == 10)
{
Console.WriteLine(string.Format("Your number is {0}. Press any key.", myInt));
Console.ReadLine();
}
}
}
答案 8 :(得分:1)
您可以尝试使用StreamReader通过控制台捕获输入。
其次,当你第一次开始编程时,你需要==(意思是“等于”)而不是(=)这是一个赋值操作符。
然而,这不会起作用,因为我的代码会出错,但这只是举例说明了你的错误。
class IfSelect
{
public static void Main()
{
string myInput;
int myInt;
StreamReader reader = new StreamReader();
Console.Write("Please enter a number: ");
myInput = reader.ReadLine();
myInt = Int32.Parse(myInput);
if (myInt == 10)
{
Console.WriteLine("Your number is 10.", myInt);
}
}
}
答案 9 :(得分:0)
除了使用==而不是=之外,将值放在变量之前也是一种很好的做法,如
if(10 == myInt)
因此,当你只是意外地输入1个等号时,编译器会捕获。