2

这定义好了吗?

Streamreader ^reader = gcnew Streamreader("test.txt");
String  ^line;

while ((line = reader->ReadLine()) != nullptr && line != "")
{
    //do stuff
}

我相信我在某处读到,不能保证在第二个条件之前执行分配。可能是我错了,或者这仅适用于 C。
谷歌没有帮助我,这就是我在这里问的原因:)

4

2 回答 2

4

使用 && 和 ||,保证在评估第二个条件之前评估第一个条件(包括赋值)。

另一方面,对于按位 & 和 |,没有这样的保证。

于 2010-06-19T00:12:13.980 回答
1

这里有一个相关的答案,有很多很好的参考资料:短路逻辑运算符是强制性的吗?和评价顺序?

如果您没有重载 && 和 || 的简短回答 你会得到短路评估,从左到右。看看链接。

于 2010-06-19T00:31:27.197 回答