繁体   English   中英

这是一个什么样的for循环?

[英]What kind of for loop is this?

在 C# 中,这种类型的 for 循环是否有特殊名称?

for (EventRecord eventdetail = logReader.ReadEvent(); eventdetail != null; eventdetail = logReader.ReadEvent())

编辑:我正在尝试研究是否有办法以多线程方式执行此操作。 由于Parallel.For不能以相同的方式调用,我希望上述类型的for loop有一个特殊的名称,因为它不像典型的for loop那样递增或递减。

它使用第一个 logReader.ReadEvent 读取一个 EventRecord,

for(EventRecord eventdetail = logReader.ReadEvent(); ....

然后检查此实例是否为空,

for(.....;eventdetail != null;....)

然后执行 for 循环的主体,然后再次请求另一个 EventRecord。

for(.....;.....;eventdetail = logReader.ReadEvent())

并再次检查返回是否为空。 这一直持续到 ReadEvent 返回的 EventRecord 为空。

它很聪明,但我更喜欢更易读的 while 循环

while((EventRecord eventdetail = logReader.ReadEvent()) != null)
{
   .....
}

没有特别的名字。 它只是普通的for loop运行。 它有一个初始化子句,条件子句,迭代子句。

对于它的价值......任何条款都可以省略!
IE For(;;)将创建一个无限循环。

for 语句(C# 参考)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM