【发布时间】:2011-05-15 13:30:14
【问题描述】:
有很多语句我们可以使用任何一种,条件运算符或if..else。
那么在这些陈述中,从性能的角度来看,哪一个是最好的?
【问题讨论】:
有很多语句我们可以使用任何一种,条件运算符或if..else。
那么在这些陈述中,从性能的角度来看,哪一个是最好的?
【问题讨论】:
不用担心性能。使用哪个更清晰易读。
【讨论】:
return sourceValue < 0 ? GetDefaultPositiveValue() : sourceValue; 提供与 if (sourceValue >= 0) return sourceValue; return GetDefaultPositiveValue(); 相同的 IL。
永远不要考虑性能。过早的优化是撒旦的产物,也是地狱与人间万恶之源。
您应该担心性能的唯一情况是您的用户/客户是否抱怨它。然后只修复他们抱怨的功能。
开发的目的是使代码尽可能地可读。与您尝试优化性能的代码相比,这样做可以更轻松地修复错误和性能问题。
至于性能,通常不是诸如if 之类的常规代码会损害性能。它是网络、数据库操作、算法、解析字符串等。
【讨论】:
使用“?”用于为空的 null 或其他不可用的变量分配默认值。
将 if .. else .. 用于其他所有内容。
【讨论】:
“程序是供人类阅读的,只是偶然地供计算机执行” - 唐纳德·高德纳
所以,总是如果...否则。除非你找到一个地方在哪里?有助于理解您的代码。
【讨论】: