Tim*_*ter 3 c# vb.net visual-studio-2005 conditional-operator
我担心这是一个愚蠢的问题,但我必须假设我已经编程了VB.Net太长时间,现在无法弄清楚如何将这个C#null合并运算符转换为VB.Net:
if( Convert.ToBoolean(ViewState[tp.UniqueID + "_Display"] ?? true) == false ){}
Run Code Online (Sandbox Code Playgroud)
我知道IIF函数,但我不知道如何在这里使用它,如果它给出了正确的结果(在IIF中,两个表达式都在评估中).请帮助揭开黑暗的光芒.
编辑:如果你想看到这个的来源:forums.asp.net
在那里你可以看到一个生成Option Strict On disallows implicit conversions from 'Object' to 'Boolean'
编译器异常的解决方案.
你想要If运算符(不是IIF函数).它可以用作C#中?:
条件运算符和??
空合并运算符的等价物,具体取决于它是通过3个参数还是2个
你真的想要这样的东西:
If Not ViewState[tp.UniqueID + "_Display"] is Nothing AndAlso Not CType(ViewState[tp.UniqueID + "_Display"],Boolean) Then
End If
Run Code Online (Sandbox Code Playgroud)
这至少还会让你短路.
归档时间: |
|
查看次数: |
4264 次 |
最近记录: |