【发布时间】:2017-06-22 07:48:47
【问题描述】:
我有一个Dictionary<string,int> dictionary1,我需要将其转换为List<Data>,其中Data 具有属性lable = dictionary1.key 和value = dictionary1.value。我不想使用 for/foreach 循环(由我自己编写),因为为了避免它,我正在尝试使用字典。
另一种选择是使用两个不同的字典(字典 2 和字典 3),其中 dictionary2<string,keyOfDictionary1> 和 dictionary3<string,valueOfDictionary1>。
我说得有道理吗?那可能吗?有更好的选择吗?
【问题讨论】:
-
“不想使用循环”会很困难。您将有以某种方式迭代字典。
-
你得到了很多
LINQ的答案 - 请注意LINQ库本质上仍然运行foreach以返回结果。 -
所有(当前)答案都包含关键成分 - 选择转换。这 将 对字典执行迭代,但是您在没有“循环”的情况下执行此操作。同意 Tim Schmelter 的观点,我怀疑您只是不想要 for/foreach 的语法丑陋?
-
"不想使用循环" :O ?这不可能。 AFAIK 甚至所有 LINQ 扩展方法都在幕后使用“循环”(优化)。
-
这就是编辑按钮的用途,没什么可遗憾的。 =)