给定两个 相同大小的IEnumerable s ,如何将其转换为 Dictionary 使用Linq?
IEnumerable<string> keys = new List<string>() { "A", "B", "C" };
IEnumerable<string> values = new List<string>() { "Val A", "Val B", "Val C" };
var dictionary = /* Linq ? */;
Run Code Online (Sandbox Code Playgroud)
而预期的产出是:
A: Val A
B: Val B
C: Val C
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一些简单的方法来实现它.
我应该担心表现吗?如果我有大量收藏怎么办?
如果有更简单的方法,我不会这样做,目前我这样做:
我有一个Extension方法,它将循环IEnumerable提供元素和索引号.
public static class Ext
{
public static void Each<T>(this IEnumerable els, Action<T, int> a)
{
int i = 0;
foreach (T e in els)
{
a(e, i++); …Run Code Online (Sandbox Code Playgroud)