从列表中获取非重复计数

本文关键字:列表 获取 | 更新日期: 2023-09-27 18:34:36

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

 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);

谁能帮帮我。

我想检查,计数唯一日期是否返回值 1。

从列表中获取非重复计数

WHERE 子句不返回布尔值,而是返回 IEnumerable(Of TSource(

如果您不想检查是否有 count = 1

的 ,您可以使用
bool ans= li.Any(x => x.Measures.CountUniqueDate() == 1);

将方法更改为如下所示的扩展方法

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;