1

if コード ブロックから変数を持続させることはできますか?

私は持っている

if(some condition){
  var result=queryexecute(some query);
}

...Some non dependent code...

if(result != null){
  ....
}

現在のコンテキストには存在しない結果が得られます。私は結果がそのifブロックにローカルであると推測しています。2 つの間のコードのため、2 つのコード ブロックを結合したくありません。2番目のifブロックで結果を定義する方法はありますか?

queryexecute の戻り型は「public static IEnumerable」です。その型の空のオブジェクトを宣言する方法を知るには、私はこれについてあまりにもよく知っています。しかし、誰かが説明してくれるほど親切であれば、私はそれを行うことができます.

4

2 に答える 2

7

varから宣言型に切り替える必要があります。

IEnumerable result = null; //or whatever it is

if(some condition){
  result=queryexecute(some query);
}

...Some non dependent code...

if(result != null){
  ....
}
于 2013-11-11T22:14:17.413 に答える
1

または:

var result = some_condition ? queryexecute(somequery) : null;

// ...

if (result != null) {
    ...
}
于 2013-11-11T22:35:27.997 に答える