c# - 需要从多个词典<Datetime,double> 中获取一组唯一的键

标签 c# linq dictionary contains hashset

我有 20 部字典 <Datetime,double>大部分时间范围相同(例如 2012 年 2 月 24 日至 2012 年 6 月 4 日)。有的词典多了天数,有的少了天数。我想要一个包含所有正在使用的唯一日期的数组。

目前我正在遍历所有键并添加到哈希集以获得唯一集,然后将哈希集转换为数组。有没有更有效的方法?

作为记录,我还考虑过迭代并使用字典的 containsKey 函数并添加到列表或 LINQ。我现有的流程似乎可以解决问题。

最佳答案

您描述的代码是您可以获得的最高效的代码。
您可以使用 LINQ 以更少的代码(和类似的效率)完成此操作:

dicts.SelectMany(d => d.Keys).Distinct().ToArray();

关于c# - 需要从多个词典<Datetime,double> 中获取一组唯一的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394884/

相关文章:

c# - LINQ:将某些对象属性选择到同一对象中

c# - 如何放置两个 DataValueField?

c# - 我想为使用 Linq To Sql 读取的数据集中的每条记录添加一个唯一 ID

python - 使用 multidict 的排列

arrays - Scala:将数组[(String, Array[Double])]压缩为数组[(String)]

c# - n 层应用程序中的异常处理?

c# - 将构造函数参数从接口(interface)类型转换为具体类类型在这里是错误的吗?

c# - SQL:指定的转换无效

c# - Zip Mime 类型似乎无法识别

python - 如何轻松操作 Python 字典中的时间戳键?