gpt4 book ai didi

c# - 比较两个对象集合

转载 作者:行者123 更新时间:2023-11-30 19:51:28 25 4
gpt4 key购买 nike

我有 2 个集合,一个可用功能和一个用户功能。我想删除可用功能中的一个项目,该项目包含另一个集合中的功能代码,但找不到正确的语法。

我已经包含了我当前无法编译的代码(它提示我不能使用“==”运算符,我的 Linq 知识很少)

Linq 是执行此操作的最佳方法吗?任何帮助将不胜感激。

        AvailableFeatureViewListClass availableFeatures = (AvailableFeatureViewListClass)uxAvailableList.ItemsSource;
UserFeatureListClass userFeatures = (UserFeatureListClass)uxUserFeatureList.ItemsSource;

foreach (UserFeatureClass feature in userFeatures)
{
availableFeatures.Remove(availableFeatures.First(FeatureCode => FeatureCode == feature.FeatureCode));
}

最佳答案

Except 方法与您的类型的自定义 EqualsIEqualityComparer 实现结合使用(您的集合项的类型不是很明显):

var features = availableFeatures.Except(userFeatures, new FeatureCodeComparer());

如果 availableFeatures 只是一个整数集合,您只需执行如下操作:

var features = availableFeatures.Except(userFeatures.Select(x => x.FeatureCode));

关于c# - 比较两个对象集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1076144/

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