Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用三元运算符从三个变量返回最低值_C#_Ternary Operator - Fatal编程技术网

C# 使用三元运算符从三个变量返回最低值

C# 使用三元运算符从三个变量返回最低值,c#,ternary-operator,C#,Ternary Operator,我有三个变量,所有的整数 indexA indexB indexC 现在,使用三元运算符,如何返回三者中的最小值?试试看 var lowestVal = (indexA < indexB ? indexA : indexB) < indexC ? (indexA < indexB ? indexA : indexB) : indexC; 以下 result = indexA < indexB ? Min(indexA, indexC) : Min(indexB, in

我有三个变量,所有的整数

indexA
indexB
indexC
现在,使用三元运算符,如何返回三者中的最小值?

试试看

var lowestVal = (indexA < indexB ? indexA : indexB) < indexC ? (indexA < indexB ? indexA : indexB) : indexC;
以下

result = indexA < indexB ? Min(indexA, indexC) : Min(indexB, indexC);

应该做你想做的,假设你可以使用其他操作符和方法…

它必须是三元操作符吗?使用Min似乎更简单

[TestMethod]
public void FindMinimum() {

    int indexA = 6;
    int indexB = 7;
    int indexC = 1;

    Assert.AreEqual(1, new[] { indexA, indexB, indexC }.Min());

}

为什么这样要求三元运算符?这是家庭作业吗?我在考虑代码的简单性。但性能也是我所需要的。这是否较慢?如果比较慢,差异是否足以引起注意?我没有测试它的速度。如果比较3个项目,它并不慢,因此为了简单起见,我会使用IEnumerable。Min@TomislavMarkovski,你的建议似乎更简洁。但我还没有测试它的速度。但是应该足够快!