[英]c# beginner problem
我正在尝试学习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);
}
}
}
if(myInt = 10)
将10的值分配给myInt
而不是检查是否相等。 它应该变成:
if(myInt == 10)
这是测试相等性的正确语法。
这个:
if (myInt = 10)
需要这样的:
if (myInt == 10)
或者也可能是这样:
if(myInt.Equals(10))
我知道这可能只是拼写错误,但我想无论如何我都会包含链接:
http://msdn.microsoft.com/zh-CN/library/53k8ybth.aspx
这是Equals函数的链接:
http://msdn.microsoft.com/zh-CN/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/zh-CN/library/system.int32.tryparse.aspx
代替if (myInt = 10)
您需要使用if (myInt == 10)
。
第一个是赋值运算符,第二个是比较运算符。
您的if语句将10分配给myInt而不是进行相等性测试。
做这个:
if(myInt == 10)
更改
if (myInt = 10)
至
if (myInt == 10)
暂时,您使用的是赋值运算符,而不是相等运算符。 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);
if (myInt = 10)
{
Console.WriteLine("Your number is 10.", myInt);
}
应该将=
更改为==
以检查是否相等
您可以尝试使用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);
}
}
}
我认为存在三个问题:
如果有的话
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();
}
}
}
除了使用==代替=外,将值放在变量之前也是一种好习惯,例如
if(10 == myInt)
因此,当您偶然仅放1个等号时,编译器将捕获。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.