在C#中,可以使用LINQ查询语句来将字典与列表相交,并返回匹配的字典项。下面是一个示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
Dictionary<int, string> dictionary = new Dictionary<int, string>()
{
{1, "Apple"},
{2, "Banana"},
{3, "Orange"},
{4, "Grapes"}
};
List<int> list = new List<int>() { 2, 4, 6 };
var intersection = dictionary.Where(item => list.Contains(item.Key))
.ToDictionary(item => item.Key, item => item.Value);
foreach (var item in intersection)
{
Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");
}
}
}
这段代码中,我们首先创建了一个字典 dictionary
,其中包含了一些键值对。然后创建了一个列表 list
,其中包含了一些整数。我们使用 LINQ 的 Where
和 ToDictionary
方法将字典与列表相交,并返回匹配的字典项。
在上面的代码中,Where
方法用于过滤字典中的项,条件是列表包含字典的键。然后,ToDictionary
方法将过滤后的项转换为新的字典。
以上代码输出的结果为:
Key: 2, Value: Banana
Key: 4, Value: Grapes
这是因为字典中的键 2 和 4 在列表中都存在,所以它们被匹配并返回。
推荐的腾讯云相关产品:腾讯云云服务器、腾讯云数据库、腾讯云对象存储。
领取专属 10元无门槛券
手把手带您无忧上云