gpt4 book ai didi

c# - 枚举两个集合

转载 作者:行者123 更新时间:2023-11-30 21:48:25 26 4
gpt4 key购买 nike

class MyClass
{
string identifier;
}

我有两个相同计数的列表

List<MyClass> myClassList;
List<string> identifierList;

我想知道在枚举 identifierList 的 myClassList 中分配标识符的最佳方法是什么?

这是我写的,但看起来太长了(而且效率低下?)。一定有更好的方法吗?

identifierList.Select((value,index)=>new {value, index}).ToList().ForEach(x=> myClassList[x.index].identifier = x.value);

最佳答案

是的,您的方法效率低下(您正在创建一次性列表)并且可读性不佳,如果两个列表的大小不同也会引发异常。

您正在寻找 Enumerable.Zip通过索引连接的扩展方法:

var zipped = myClassList.Zip(identifierList, (c, s) => new { class = c, string = s});
foreach(var x in zipped)
x.class.identifier = x.string;

关于c# - 枚举两个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37675958/

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