gpt4 book ai didi

c# - LINQ:从 pair.key 在字符串数组中的字典中获取所有对

转载 作者:行者123 更新时间:2023-11-30 14:46:51 27 4
gpt4 key购买 nike

有人可以帮我把它翻译成 LINQ 吗?我有一个字符串数组 (step.Variables),一个字典 (Parameters),我想要参数中的所有对,其中键在 step.Variables 中。

此代码有效,但我想使用 LINQ,但我不知道如何翻译:

parameters = new Dictionary<string, string>();
foreach (string variable in step.Variables)
{
if (Parameters.ContainsKey(variable))
{
parameters[variable] = Parameters[variable];
}
}

这是我最好的猜测,但得到异常(exception):

var parameters = Parameters.ToDictionary(pair => step.Variables.Contains(pair.Key.ToString())).Select(pair => pair);

"System.ArgumentException: 'An item with the same key has already been added.'":

最佳答案

如果我理解的很好,你需要的是:

var parameters = Parameters.Where(p=>step.Variables.Contains(p.Key))
.ToDictionary(p=>p.Key,p.Value);

您需要先过滤 Parameter字典查看键是否在 Variables 中收集并转换结果,即IEnumerable<KeyValuePair<string, string>> , 变成 Dictionary<string, string>

关于c# - LINQ:从 pair.key 在字符串数组中的字典中获取所有对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47397463/

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