我正在尝试从存储在字典中的列表中选择特定元素。internal Dictionary<string, List<Teamkill>> teamkillCounter = new Dictionary<string, List<Teamkill>>();class Teamkill{ public string killerName; public string killerSteamId; public TeamRole killerTeamRole; public string victimName; public string victimSteamId; public TeamRole victimTeamRole; public DamageType damageType;}// quotedArgs[1] is the killer name being searched for// First attemptList<Teamkill> teamkills = this.plugin.teamkillCounter.Select(x => x.Value.Select(y => y.killerName.Contains(quotedArgs[1])).Cast<List<Teamkill>>()).Cast<List<Teamkill>>().Single();// Second attemptList<Teamkill> teamkills = new List<Teamkill>();teamkills = this.plugin.teamkillCounter.Values.SelectMany(x => x).ToList();teamkills = teamkills.Where(y => y.killerName.Contains(quotedArgs[1])).ToList();理想情况下,它应该返回与杀手姓名匹配的所有 Teamkills 的列表。
1 回答

白衣非少年
TA贡献1155条经验 获得超0个赞
如果我了解您想要的结果,您可能只需使用Values
,SelectMany
和Where
。
var result = teamkillCounter.SelectMany(x => x.Value.Where(y => y.killerName.Contains("bobo")));
Dictionary<TKey,TValue>.Values
财产
获取包含 Dictionary 中的值的集合。
将序列的每个元素投影到 an
IEnumerable<T>
并将结果序列展平为一个序列。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消