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 为 null。
它很聪明,但我更喜欢更具可读性的 while 循环
while((EventRecord eventdetail = logReader.ReadEvent()) != null)
{
.....
}
没有特别的名字。这只是一个普通的工厂运行
for loop
。
它有一个初始化子句、条件子句、迭代子句。
无论其价值如何...任何一个条款都可以省略!
IE。
For(;;)
将创建无限循环。