是否可以初始化“int number”并向其传递用户输入的值?我想知道是否有一种更简洁的方法可以通过在 for 循环之外初始化数字来实现此目的。
for (int number = Convert.ToInt16(Console.ReadLine()); number < 10; number++)
{
Console.WriteLine(number);
}
我想做这样的事情,其中变量在循环外初始化,然后直接提交。-但这似乎不起作用。
int n;
for (n; n<10; n++)
{
Console.Writeline(n)
}
我知道它可以被分配并传递到循环中,但是是否可以不必这样做?
int n = Convert.ToInt16(Console.ReadLine());
for (int i = n; i<10; i++)
Console.Writeline(i);
换句话说,我可以使用 int n 而不必将其更改为 i 吗?
最佳答案
这与您所拥有的非常接近,只需省略第一部分即可。
int n = 0;
for (; n < 10; n++)
{
Console.WriteLine(n)
}
是的,这有效,刚刚在 jsfiddle ( https://dotnetfiddle.net/ZkL4BP ) 中尝试过。只需确保 n
在循环之前初始化为某个值,int n
就会给出变量未初始化错误。
正如其他人指出的那样,这绝对是一种奇怪的模式,通常您希望 for 循环计数器仅在循环期间存在,并对 block 内的其他变量进行任何操作。但它被编译器接受。
关于c# - 是否可以将变量传递到 for 循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59556886/