因此,IEnumerable使用IComparable接口来评估对.Min()的调用。我无法确定可空类型是否支持此功能。假设我有一个int?,{null,1,2}的列表。 Will .Min()有效吗?
答案 0 :(得分:13)
是的,它有效。
值null
既不大于也不小于任何非空值 - 至少对于内置类型而言。因此,除非所有值均为Min
,否则在Max
或null
计算中将有效忽略空值。
答案 1 :(得分:8)
using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<int?> l = new List<int?>() {1, null, 2};
Console.WriteLine(l.Min());
}
}
输出1.如果列表是empty, or contains only null
,则输出为null
。
因此null
计为int
的最大Min
。
答案 2 :(得分:0)
忽略空值:
static void Main()
{
var values = new int?[] { null, 1, 2 };
Console.WriteLine(values.Min());
}
打印1
。