嗯,我猜我的头衔有点奇怪。但让我解释一下我的问题。
我有一个while循环
while( GetObj() == null || !GetObj().Initialized ){
doStuff();
}
当每个循环没有调用GetObj()
时,它会很整洁。
我在另一个项目中调试了它,以确保.NET不会避免两次调用该方法。但事实并非如此。
我现在的实际问题是
是否有一种简单的方法可以避免在循环条件下调用 GetObj()
两次?
答案 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();
}