在 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 更好,因为它:

执行类型推断(如果ab 都是整数,则返回值将是整数而不是对象)和 操作的捷径(如果a > b,仅评估a,反之亦然)——如果ab 是一个函数调用,则这是相关的。

【讨论】:

以上是关于在 VB.Net 中是不是有 C# (cond ? a : b) 中的速记 If-Then-Else 版本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

C# 应用程序与 C++ 和 VB.Net 中的其他应用程序之间的 IPC

vb c c++,c# vb.net到底啥区别

在 ASP.Net 网站项目中混合 VB.Net 和 C# 代码?

如何在asp.net c# web应用程序中使用asp.net vb页面

在vb.net中使用c#条件运算符[重复]

如何从 C# 读取 VB.NET 项目中的“app.config”文件