これは愚かな質問ですが、私はVB.Netをあまりに長くプログラムしたと仮定しなければならないので、今度はC# null coalescing operatorに変換する方法を理解できませんVB.Net:VB.NetでNULL合体演算子(8)
if(Convert.ToBoolean(ViewState[tp.UniqueID + "_Display"] ?? true) == false){}
私はIIF-Functionを知っているが、私はここでそれを使用するかどうかはわかりませんし、それが正しい結果を与えた場合(IIFに両方の式が評価されています)。暗闇に光を当てるのを助けてください。
EDIT:forums.asp.netは ありますがOption Strict On disallows implicit conversions from 'Object' to 'Boolean'
コンパイラ例外を発生させるソリューションを見ることができます:あなたはこれのソースを見たい場合。
これは、使用している三項演算子ではなく、null合体演算子です。つまり、演算子に残された部分がnullでない場合はその値を使用し、そうでない場合は右側の値を使用します。 –
if条件の先頭に '!'(C#)または 'Not'(VB)を置き、' == false'を削除することをお勧めします。私はブール比較を見るのが嫌いです。 – juharr
私はあなたのコメントを感謝しますが、時にはブール比較で可読性が向上します:) –