You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Enumerable/Collection方法合并Dictionary<int, string[]>的所有值为string[]

解决方案

你可以使用Enumerable.SelectMany方法来实现需求,它专门用于将嵌套序列扁平化为单一序列,完全匹配你的场景:

string[] allMail = dicoMailPerPage.Values.SelectMany(arr => arr).ToArray();

补充说明:

  • dicoMailPerPage.Values会获取字典里所有的string[]值集合
  • SelectMany(arr => arr)会遍历每个子数组,把其中所有元素提取出来,合并成一个连续的字符串序列
  • 最后调用ToArray()将这个序列转换为string[]类型的数组

你提到的Zip和Aggregate确实不适合这个场景:

  • Zip是将两个序列按位置一一配对合并,无法处理多个子数组的扁平化操作
  • Aggregate是对序列做累加操作,虽然能手动实现合并,但代码会比SelectMany繁琐很多

内容的提问来源于stack exchange,提问作者Virbyker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 08:24:52