简化此数组插入代码的方法?

Way to simplify this array insertion code?

如果我有这个代码:

array[0] = a < b ? c : d
array[1] = a < b ? d : c

有没有办法优雅地简化它?

我知道我可以做这样的事情来避免双重布尔检查:

if (a < b)
{
    array[0] = c;
    array[1] = d;
}
else
{
    array[0] = d;
    array[1] = c;
}

但是比较冗长。

我是不是遗漏了什么明显的东西?

计算要将变量分配给的索引,而不是为每个索引使用哪个变量。

int cLocation = a < b ? 0 : 1;
array[cLocation] = c;
array[1 - cLocation] = d;