是否有一些罕见的语言构造我没有遇到过(比如我最近学到的一些,有些是关于Stack Overflow)在C#中得到一个表示foreach循环当前迭代的值?
例如,我目前根据具体情况做这样的事情:
int i = 0;
foreach (Object o in collection)
{
// ...
i++;
}
Run Code Online (Sandbox Code Playgroud) 这可能看起来很奇怪,但忽略了这一点,是否有一种将List转换为Dictionary的简洁方法,其中Dictionary中的每个键值对只是List中的每个字符串.即
List = string1, string2, string3
Dictionary = string1/string1, string2/string2, string3/string3
Run Code Online (Sandbox Code Playgroud)
我已经做了大量的搜索,并且在Stackoverflow上有几十个例子就是在相反的方向上进行,但不是这样.
这样做的原因是我有两个第三部分组件,更改它们不在我手中.一个将电子邮件地址列表作为List返回,另一个发送To参数为Dictionary的电子邮件.字典的关键是电子邮件地址,值是他们的真实姓名.但是,我不知道真实姓名,但如果您将真实姓名设置为电子邮件地址,它仍然有效.因此,我想将List转换为Dictionary.有很多方法可以做到这一点.列表中的foreach循环,它将kvp添加到字典中.但我喜欢简洁的代码,并想知道是否有单行解决方案.