是指将两个IEnumerables类型的集合进行相互映射,其中一个集合作为键,另一个集合作为值,形成一个字典。
在C#中,可以使用LINQ库中的ToDictionary方法来实现这个功能。ToDictionary方法接受一个Func委托作为参数,该委托定义了如何从键集合中选择键和值集合中选择值。
以下是一个示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
IEnumerable<string> keys = new List<string> { "key1", "key2", "key3" };
IEnumerable<int> values = new List<int> { 1, 2, 3 };
Dictionary<string, int> dictionary = keys.Zip(values, (k, v) => new { Key = k, Value = v })
.ToDictionary(x => x.Key, x => x.Value);
foreach (var kvp in dictionary)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
}
}
输出结果为:
Key: key1, Value: 1
Key: key2, Value: 2
Key: key3, Value: 3
在这个示例中,我们使用了Zip方法将两个集合逐个配对,然后使用ToDictionary方法将配对的结果转换为字典。最后,我们遍历字典并打印每个键值对的内容。
这种字典相互映射的技术在很多场景中都有应用,例如将两个集合进行关联,或者将一个集合作为索引来查找另一个集合中的对应值等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云