【发布时间】:2012-03-15 02:58:42
【问题描述】:
我需要找到 3 个值之间的最小值,我最终做了这样的事情:
Math.Min(Math.Min(val1, val2), val3)
这对我来说似乎有点傻,因为其他语言为此使用可变参数函数。我非常怀疑这是一个疏忽。
为什么一个简单的 Min/Max 函数不应该是可变参数的?有性能影响吗?有没有我没注意到的可变参数版本?
【问题讨论】:
-
不是你要找的,但 LINQ 有一个 IEnumerable 的最小扩展
-
调用可变参数函数分配一个数组。对于简单的最小值/最大值而言,这可能被认为开销太大。
标签: c# variadic-functions