c# - 是否可以将变量传递到 for 循环中?

标签 c# loops for-loop

是否可以初始化“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/

相关文章:

python - 如何在循环中填充pandas数据框?

Python 递归与 for 循环

javascript - 如果没有找到任何项目,则执行 else 语句

javascript - for循环无法连续循环

javascript - 未捕获的类型错误 : Cannot set property '0' of undefined

c# - 找不到文件 : Source link authentication failed

c# - 使用 WCF 在 Silverlight 中共享服务接口(interface)和模型

c# - .NET HttpWebRequest 速度与浏览器

jquery - 影响相同ID的多个元素?

c# - BitArray(16) 到 HexString