gpt4 book ai didi

vb.net - 使用内联 IF 语句 vb.net

转载 作者:行者123 更新时间:2023-12-03 11:48:11 24 4
gpt4 key购买 nike

代码的简要信息如下。该代码采用一堆字符串并按如下方式将它们合并,并在中间使用 if 语句来决定是否对其中一个字符串进行合并。问题是 If(Evaluation, "", "")提示说它不能为空或必须是资源..当评估只是检查一个对象以确保它不是空的并且对象中的一个属性被检查如下时,我该如何解决这个问题:

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

最佳答案

使用 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"

关于vb.net - 使用内联 IF 语句 vb.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13661200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com