从列表中获得明显的计数

时间:2014-12-18 20:44:05

标签: c# asp.net linq

我正在尝试查找列表中唯一日期的数量。

 IEnumerable<T>


public int CountUniqueDate()
        {
            return _items.DistinctBy(i => i.DateMeasured).Count();
        }

我认为,此功能会告诉我列表中唯一日期的计数。

现在,从另一个文件中,我尝试检索值

要么我想要计数,要么告诉它是否是一个。

所以我试着检查计数是否为1。

但是,这里我得到了编译错误。 如果我var ans,那么我会得到完整列表。

List<T> li;

bool ans= li.Where(x => x.Measures.CountUniqueDate() == 1);

任何人都可以帮助我。

如果CountUniqueDate返回值1,我想检查。

3 个答案:

答案 0 :(得分:2)

WHERE CLAUSE不返回布尔值但是IEnumerable(Of TSource)

答案 1 :(得分:1)

如果你不想检查是否有一个count = 1,你可以使用

bool ans= li.Any(x => x.Measures.CountUniqueDate() == 1);

答案 2 :(得分:0)

将您的方法更改为像这样的扩展方法

public static class Extensions
{
    public static int CountUniqueDate(this List<Measure> items)   //<= measure is your T type
    {
        return items.DistinctBy(i => i.DateMeasured).Count();
    }
}

然后你可以这样称呼它:

List<Measure> li = YourData;

bool ans= li.CountUniqueDate() == 1;