在 VB.Net 中是不是有 C# (cond ? a : b) 中的速记 If-Then-Else 版本? [复制]
Posted
技术标签:
【中文标题】在 VB.Net 中是不是有 C# (cond ? a : b) 中的速记 If-Then-Else 版本? [复制]【英文标题】:Is there a version of the shorthand If-Then-Else in C# (cond ? a : b), in VB.Net? [duplicate]在 VB.Net 中是否有 C# (cond ? a : b) 中的速记 If-Then-Else 版本? [复制] 【发布时间】:2011-05-12 03:07:39 【问题描述】:可能重复:Is there a conditional ternary operator in VB.NET?
在 C# 中是否有简写 If-Then-Else 的版本:
c = (a > b) ? a : b;
意思...
if (a > b)
c = a;
else
c = b;
.. 在 VB.Net 中?
【问题讨论】:
这是 ***.com/questions/576431/… 和 YES 的副本 【参考方案1】:是的,IF
就是你想要的
这里有一些参考
http://msdn.microsoft.com/en-us/library/bb513985
这是它的用途
c = IF(a > b, a , b)
显然有一个名为 IIF 的运算符,但它已被弃用。
【讨论】:
这是超级弃用的,现在只是如果。 严格来说,我相信IIf
是一个函数,If
是一个运算符
@MarkJ 完全是,IIf hsa 更多开销
公共函数 IIf(ByVal Expression As Boolean, ByVal TruePart As Object, ByVal FalsePart As Object) As Object
【参考方案2】:
你想使用If operator:
Dim maximum = If(a > b, a, b)
还有较旧的Iif function,它仍然有效,但If
更好,因为它:
a
和b
都是整数,则返回值将是整数而不是对象)和
操作的捷径(如果a > b
,仅评估a
,反之亦然)——如果a
或b
是一个函数调用,则这是相关的。
【讨论】:
以上是关于在 VB.Net 中是不是有 C# (cond ? a : b) 中的速记 If-Then-Else 版本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
C# 应用程序与 C++ 和 VB.Net 中的其他应用程序之间的 IPC
在 ASP.Net 网站项目中混合 VB.Net 和 C# 代码?