在C#中,您可以为变量赋值并同时进行比较,如下所示:
int input = Convert.ToInt32(Console.ReadLine());
string classify;
// ?: conditional operator.
classify = (input > 0) ? "positive" : "negative";
"分类"现在有"积极"或者"否定"取决于提供的输入
在VBA中是否有相同的功能?我知道我可以做一个If语句来比较它并分配值,我试着看看它是否可以简化为一行。
答案 0 :(得分:4)
有IIF()函数:
Dim inpt As Double
inpt = Application.InputBox("give me a number", Type:=1)
Dim classify As String
classify = IIf(inpt > 0, "Positive", "Negative")
MsgBox classify
使用IIF函数要记住一件事,它将解析函数的所有部分。因此,即使测试返回true,它也会尝试处理false和true,但只返回true。
这意味着,如果其中一个返回导致错误,无论是否是要返回的值,它都会出错。