gpt4 book ai didi

c# - 使用类列表中的数据更新类列表

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:59 24 4
gpt4 key购买 nike

我有一个类:

public class DataMember {
public string ID{ get; set; }
public List<string> Versions { get; set; }
}

还有一个类:

public class MasterDataMember {
public string ID { get; set; }
public List<string> FoundVersions { get; set; }
}

我将两组数据存储在缓存中:

List<DataMember> datamembers
List<MasterDataMember> masterdatamembers

最初构建时,MasterDataMember 是部分“版本”的列表。这些版本需要确认并在 DataMember 的列表中找到。

如何使用在数据成员中找到的已确认版本更新主数据成员?(此代码块未经测试,但它说明了我正在尝试做的事情)

foreach (MasterDataMember item in masterdatamembers) {
List<string> confirmedvers = new List<string>();
foreach(string rawver in item.FoundVersions ){
foreach(DataMember checkitem in datamembers){
foreach (string confirmedver in checkitem.Versions) {
if (rawver.Contains(confirmedver)) {
confirmedvers.Add(confirmedver);
}
}
}
}
item.FoundVersions = vers;
}

是否有 LINQ 可以更轻松、更快地完成此任务(我已经尝试了很多想法、迭代)?

速度是这里的关键,因为这两个列表都可能有数百到数千长。

提前致谢!

最佳答案

foreach (MasterDataMember item in masterdatamembers) {
IEnumerable<string> confirmedvers = item.FoundVersions.Where(rawver => rawver.Any(confirmedver => datamembers.Any(checkitem => checkitem.Versions.Contains(rawver)));
}

天哪,老兄,这让我很困惑!

虽然很棒的思维实验!

关于c# - 使用类列表中的数据更新类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30790814/

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