3

我有datetime值列表,我正在尝试将每个项目与所有项目进行比较。

var dateList = new List<DateTime>();

基本上我想检查所有项目是否相等。

认为我可以使用DateTime.Compare,但我不确定如何遍历每个元素并进行比较。

4

4 回答 4

8

基本上我想检查所有项目是否相等。

不需要DateTime.Compare。只需检查

dateList.Distinct().Count();

如果等于 1,则它们相等,但如果大于 1,则不,它们不相等。

于 2012-08-21T10:21:49.243 回答
3
var notAllEqual = dateList.Any(x => x != dateList.First())
于 2012-08-21T10:22:41.953 回答
2
bool b = dateList.Skip(1).All(x=>x.Equals(dateList[0]));
于 2012-08-21T10:21:23.113 回答
2

非 Linq 方法:

    bool AreAllDatesEqual(List<DateTime> dateList)
    {
        var first = dateList[0];
        for (int i = 1; i < dateList.Count; i++)
        {
            if (first != dateList[i])
                return false;
        }

        return true;
    }
于 2012-08-21T10:22:23.997 回答