如何在While循环中使用单个结果?

时间:2014-08-08 21:27:13

标签: c# while-loop

嗯,我猜我的头衔有点奇怪。但让我解释一下我的问题。

我有一个while循环

while( GetObj() == null || !GetObj().Initialized ){
    doStuff();
}

当每个循环没有调用GetObj()时,它会很整洁。

我在另一个项目中调试了它,以确保.NET不会避免两次调用该方法。但事实并非如此。

我现在的实际问题是 是否有一种简单的方法可以避免在循环条件下调用 GetObj() 两次?

3 个答案:

答案 0 :(得分:6)

此表格不太简洁,但可能更具可读性。

var obj = GetObj();
while(obj  == null || !obj.Initialized ){
    doStuff();
    obj = GetObj();
}

答案 1 :(得分:2)

我相信这会有所帮助:

YourObject obj ;
while((obj = GetObj()) == null || !obj.Initialized) {
    doStuff();
}

答案 2 :(得分:1)

也许

var obj = GetObj();

while( obj == null || !obj.Initialized ){
    doStuff();
}