代码的简要信息如下。该代码接受一组字符串,并按如下方式对它们进行连接,中间有一个if语句,该语句决定是否对其中一个字符串进行连接。问题是If(Evaluation, "", "")
抱怨说它不能为空,或者必须是一个资源。当评估只是检查一个对象以确保它没有IsNot时,我该如何解决这个问题,并且还检查了该对象中的一个属性,如下所示:
Dim R as string = stringA & " * sample text" & _
stringB & " * sample text2" & _
stringC & " * sameple text3" & _
If(ApplyValue IsNot Nothing AndAlso ApplyValue.CheckedBox Then ,StringD & " * sample text4" & _
, NOTHING)
stringE & " * sample text5"
VS正在抱怨applyValue。有什么想法吗?
应该注意的是,我已经尝试了以下方法,只是为了看看它是否有效,VS拒绝了它:
Dim y As Double
Dim d As String = "string1 *" & _
"string2 *" & _
If(y IsNot Nothing, " * sample text4", "") & _
"string4 *"
这是它用来标记y的内容:
'IsNot' requires operands that have reference types, but this operand has the value type 'Double'. C:\Users\Skindeep\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 13 16 WindowsApplication1
发布于 2012-12-02 00:23:20
使用IIF三元表达式赋值器
Dim R as string = stringA & " * sample text" & _
stringB & " * sample text2" & _
stringC & " * sameple text3" & _
IIf(ApplyValue IsNot Nothing AndAlso ApplyValue.CheckedBox, StringD & " * sample text4", "") & _
stringE & " * sample text5"
编辑:如果你从2008版本开始使用VB.NET,你也可以使用
IF(expression,truepart,falsepart)
这甚至更好,因为它提供了短路功能。
Dim R as string = stringA & " * sample text" & _
stringB & " * sample text2" & _
stringC & " * sameple text3" & _
If(ApplyValue IsNot Nothing AndAlso ApplyValue.CheckedBox, StringD & " * sample text4", "") & _
stringE & " * sample text5"
https://stackoverflow.com/questions/13661200
复制相似问题