java ? : operator in vb. 网络

标签 java vb.net language-features conditional-operator

.net 中是否有等效的 ?: 运算符? 例如在 Java 中我可以这样做:

retParts[0] = (emailParts.length > 0) ? emailParts[0] : "";

而不是

if (emailParts.length > 0) {
    retParts[0] = emailParts[0];
} else {
    retParts[0] = "";
}

我希望能够在 VB.NET 中做类似的事情。

最佳答案

使用 If operator :

' data type infered from ifTrue and ifFalse
... = If(condition, ifTrue, ifFalse)     

此运算符是在 VB.NET 9(随 .net Framework 3.5 发布)中引入的。在早期版本中,您将不得不求助于 IIf function (没有类型推断,没有短路):

' always returns Object, always evaluates both ifTrue and ifFalse
... = IIf(condition, ifTrue, ifFalse)    

关于 java ? : operator in vb. 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108393/

相关文章:

.net - 如何实现多行文本框的花式滚动条?

c# - 关于 C# 语言规范中隐式转换的问题

java - 如何重构两种非常相似的方法

Java 斐波纳契 - elapsedTime();公式

java - DB2 控制中心中的操作是否有可能阻止 java 代码中的查询?

c# - 如何从在 asp.net 中用 scriptmanager.registerclientscript 编写的 javascript 确认框返回值?

vb.net - .NET - block 级范围

java - 使用 apache Camel 调用第三方 Web 服务

c# - 为什么要使用 Clone()?

java - 为了更简洁的语言,Java 是否应该在未来的版本中打破向后兼容性?