【发布时间】:2012-01-30 09:36:17
【问题描述】:
我有三个变量,都是整数。
indexA
indexB
indexC
现在,使用三元运算符,如何返回三个中的最小值?
【问题讨论】:
-
为什么会有这样的要求(三元运算符)?这是作业吗?
标签: c# ternary-operator
我有三个变量,都是整数。
indexA
indexB
indexC
现在,使用三元运算符,如何返回三个中的最小值?
【问题讨论】:
标签: c# ternary-operator
以下
result = indexA < indexB ? Min(indexA, indexC) : Min(indexB, indexC);
应该做你想做的,假设你可以使用其他运算符和方法......
【讨论】:
试试
var lowestVal = (indexA < indexB ? indexA : indexB) < indexC ? (indexA < indexB ? indexA : indexB) : indexC;
【讨论】:
必须是三元运算符吗?使用Min<>() 似乎更简单。
[TestMethod]
public void FindMinimum() {
int indexA = 6;
int indexB = 7;
int indexC = 1;
Assert.AreEqual(1, new[] { indexA, indexB, indexC }.Min());
}
【讨论】:
IEnumerable.Min()