gpt4 book ai didi

c# - 过滤 ICollectionView 中的重复条目

转载 作者:太空宇宙 更新时间:2023-11-03 20:16:00 26 4
gpt4 key购买 nike

我有一个类

Class ABC()
{
public string Name{get;set;}
public string Category{get;set;}
}

由此类形成的列表具有以下值(value):-

 Name = "A", Category = "Alphabet"
Name = "1", Category = "Numeric"
Name = "2", Category = "Numeric"
Name = "B", Category = "Alphabet"
Name = "A", Category = "Alphabet"

我在上面的列表中应用了过滤器(使用 ICollectionView),仅基于类别“字母表”,结果列表是:-

 Name = "A", Category = "Alphabet"
Name = "B", Category = "Alphabet"
Name = "A", Category = "Alphabet"

工作正常,但我无法从列表中过滤掉这个重复的条目。我正在使用 WPF MVVM。请帮忙。

最佳答案

在过滤器回调中,仅当当前对象具有所需类别并且是第一个具有其名称的类别时才返回 true。

像这样:

    ...
ObservableCollection<ABC> Items { get;set}
ListCollectionView ItemsView { get;set }
...
// View filter logic
ItemsView.Filter = o =>
{
var abc = o as ABC;
if (abc == null) return false;
return abc.Category == "Alphabet" &&
abc == Items.First(i => i.Name == abc.Name);
};

关于c# - 过滤 ICollectionView 中的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com