我从未看到过这种初始化for
循环的方法,也不明白为什么要这样写?
我正在研究如何在.NET中连接到IMAP服务器,并开始查看来自名为ImapX的库的代码。我发现一个方法中使用了for
循环在NetworkStream
中写入数据,并似乎在奇怪的for
循环中读取响应。我不想逐字复制粘贴别人的代码,但是这是主要内容:
public bool SendData(string data)
{
try
{
this.imapStreamWriter.Write(data);
for (bool flag = true; flag; flag = false)
{
var s = this.imapStreamReader.ReadLine();
}
}
catch (Exception)
{
return false;
}
return true;
}
再次强调,这并不是精确的代码,但它是一般思路。这个方法只是这样做,它不使用服务器响应,如果没有抛出异常,它只返回true
。我不明白为什么要这样使用for
循环; 如果有的话,有谁能解释初始化的优势是什么?
false
之前执行一次。如果旨在在ReadLine()
上暂停,那么您可以免费获得它... - Yuckflag
没有在for
循环体中被调整吗?按照现在的写法,它只会执行一次然后停止(从true开始 - 在true的情况下继续 - 在第一次重新循环时改为false - 现在停止!true)。 - Rudufor
循环的初始化。 - sellmeadog