可能的重复:
使用条件 ? 的好处:(三元)运算符
条件运算符慢吗?

大家好,

我有一个关于不同 if/else 语句的非常简单的问题。

除了编写更少的代码之外,与完整的 if/else 语句相比,使用条件运算符还有其他好处吗?

使用它时是否会提高性能、减少编译代码或其他任何对我有利的事情?

感谢你的帮助

马尔科

有帮助吗?

解决方案

不要专注于 写作 更少的代码...专注于你最终得到的代码 可读的.

有时一个 if 声明将更具可读性。有时条件运算符会更具可读性。我喜欢条件运算符,因为它可以用不同的方式计算一个逻辑值(例如,根据顾客的年龄提供折扣)。不过,我不喜欢以复杂的方式使用它 - 在有意义的地方使用完整的 if/else 并没有什么问题。

也值得记住空合并运算符......所以而不是:

string shipTo = customer.ShippingAddress != null 
              ? customer.ShippingAddress : customer.BillingAddress;

您可以使用

string shipTo = customer.ShippingAddress ?? customer.BillingAddress;

再说一次,它只在某些情况下有用 - 但在这些情况下它确实很方便。

其他提示

除了编写更少的代码之外,与完整的 if/else 语句相比,使用三元运算符还有其他好处吗?

在某些情况下,更好的可读性......我想仅此而已。

使用它时是否会提高性能、减少编译代码或其他任何对我有利的事情?

不,没什么重要的。我认为它通常会编译成相同的 IL 无论如何......

所以最终,您应该只根据可读性进行选择。当编写完整的 if/else 更具可读性时,就这样做。如果它是一个非常简单且易于阅读的三元表达式,那就使用它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top