Использование троичного оператора для возврата наименьшего значения из трех переменных - PullRequest
0 голосов
/ 30 января 2012

У меня есть три переменные, все целые числа.

indexA
indexB
indexC

Теперь, используя троичный оператор, как я могу вернуть наименьшее значение из трех?

Ответы [ 3 ]

8 голосов
/ 30 января 2012

Следующее

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

должно делать то, что вы хотите, при условии, что вы можете использовать другие операторы и методы ...

4 голосов
/ 30 января 2012

1001 * попробовать *

var lowestVal = (indexA < indexB ? indexA : indexB) < indexC ? (indexA < indexB ? indexA : indexB) : indexC;
3 голосов
/ 30 января 2012

Должен ли это быть троичный оператор?Использование Min<>() кажется более простым.

[TestMethod]
public void FindMinimum() {

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

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

}
...