x1,x2,x3,x4和x5是用户减速的变量,用户可以在0到5之间选择。 我想获得这5个变量的最小值,但是如果其中一个或多个变量为0,我想排除那些为0的变量。
var array = new[] { x1, x2, x3, x4, x5 };
int minarray = array.Min();
答案 0 :(得分:2)
您可以使用Where
过滤掉所有零值。
int min = array.Where(x => x != 0).Min();
但是,如果所有值均为零,将导致异常,因此您可以这样做
int min = array.Where(x => x != 0).DefaultIfEmpty().Min();
但是,当所有值均为0时,结果为0,这似乎是合理的。