gpt4 book ai didi

c# - 使用 LINQ to dictionary 新建字典

转载 作者:行者123 更新时间:2023-12-03 19:19:46 26 4
gpt4 key购买 nike

我有Dictionary<Position, List<GameObject>>我想创建新词典 Dictionary<Position, List<Person>>其中收集的位置包括至少一个人在List<GameObject> .

我试过:

Dictionary<Position, List<Person>> persons =
positions.ToDictionary(
i => i.Key,
i => i.Value.Where(obj => obj is Person))

positions是第一本词典。

但它并没有真正起作用,因为位置有时是空的,而且它不是 Person 的真正类型因为你不转换它。不管怎样,你有什么想法吗?

最佳答案

var people = positions.Select(x => new { x.Key, Values = x.Value.OfType<Person>().ToList() })
.Where(x => x.Values.Any())
.ToDictionary(x => x.Key, x => x.Values)

关于c# - 使用 LINQ to dictionary 新建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17588002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com