“单行 if 语句”存在于 C# 和 VB.NET 中,就像在许多其他编程和脚本语言中一样,格式如下
lunchLocation = (dayOfTheWeek == "Tuesday") ? "Fuddruckers" : "Food Court";
有谁知道 VBScript 中是否有,确切的语法是什么?
最佳答案
条件三元运算符不是开箱即用的,但在 VBScript 中创建自己的版本非常容易:
Function IIf(bClause, sTrue, sFalse)
If CBool(bClause) Then
IIf = sTrue
Else
IIf = sFalse
End If
End Function
然后,您可以根据您的示例使用它:
lunchLocation = IIf(dayOfTheWeek = "Tuesday", "Fuddruckers", "Food Court")
与使用单行相比的优势
If
/Then
/Else
是它可以直接与其他字符串连接。使用 If
/Then
/Else
单行必须是该行的唯一语句。没有对此进行错误检查,并且该函数需要一个格式良好的表达式,该表达式可以计算为作为子句传入的 bool 值。有关更复杂和全面的答案,请参见下文。希望这个简单的回答巧妙地展示了答案背后的逻辑。
还值得注意的是,与真正的三元运算符不同,
sTrue
和 sFalse
无论 bClause
的值如何,参数都会被评估 .如果您像问题中那样将它与字符串一起使用,这很好,但是如果您将函数作为第二个和第三个参数传入,请务必小心!
关于if-statement - 如何在 VBScript for Classic-ASP 中执行单行 If 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20353072/