如何获取Dictionary<;int,字符串>;从方法返回
本文关键字:int 字符串 gt 返回 方法 lt 何获取 获取 Dictionary | 更新日期: 2023-09-27 18:29:47
我正在动态收集数据,并选择Dictionary<int, string>
作为存储这些数据的数据结构。
在我的方法开始时,我声明了一个变量:
Dictionary<int, string> templatesKeyName = new Dictionary<int, string>();
在方法的末尾,我希望templatesKeyName
包含与此请求相关的所有int(id)和Names对。例如,我有:
private static Dictionary<int, string> GetTemplateForUserWithAccount()
{
Dictionary<int, string> kv = new Dictionary<int, string>();
//populate the `kv` dictionary
return kv;
}
我希望能够做一些类似的事情:
if(Client.Accounts.Count > 0)
{
templatesKeyName.Add(GetTemplateForUserWithAccount());
}
显然,.Add()
扩展需要两个参数,但我不知道如何在不编写的情况下传递方法中的值。首先将结果分配给临时Dictionary,然后使用foreach
进行迭代。此外,大多数时候我很可能会得到一个结果,所以迭代并不是我真正考虑的事情。
您可以为此创建一个扩展方法:
public static void AddRange<T,K>(this Dictionary<T,K> source, IEnumerable<KeyValuePair<T,K>> values)
{
foreach(var kvp in values)
{
if(!source.ContainsKey(kvp.Key))
source.Add(kvp.Key, kvp.Value);
}
}
并按如下方式使用:
templatesKeyName.AddRange(GetTemplateForUserWithAccount());