gpt4 book ai didi

c# - 如何将字典的值复制到 .Net 2.0 中的 IList 对象中?

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

如果我有一个:

Dictionary<string, int>

如何将所有值复制到:

List<int> 

对象?

解决方案需要与 2.0 CLR 版本和 C# 2.0 兼容——我真的没有更好的主意,除了遍历字典并将值一个一个地添加到 List 对象中。但是这样感觉效率很低。

有没有更好的办法?

最佳答案

可能值得注意的是,您应该退后一步,问问自己是否真的需要将项目存储在具有随机索引访问的列表中,或者您是否只需要不时枚举每个键或值。

您可以轻松地迭代 MyDictionary.Values 的 ICollection。

foreach (int item in dict.Values) { dosomething(item); }

否则,如果您确实需要将其存储为 IList,那么将所有项目复制过来并没有什么特别低效的;那只是一个 O(n) 操作。如果您不需要经常这样做,为什么要担心?如果您对编写代码来执行此操作感到恼火,请使用:

IList<int> x=new List<int>(dict.Values);

它将您要编写的代码包装到一个复制构造函数中,该构造函数已经实现了您计划编写的代码。这是高效的代码行,这可能是您真正关心的;它的空间或时间效率并不比您编写的内容高。

关于c# - 如何将字典的值复制到 .Net 2.0 中的 IList 对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/770765/

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