我有一个由线程调用的方法。我遇到项目已存在异常的字典问题。什么是可能的解决方案。我提供了我的场景代码和为克服这个问题所做的更改。 该方法由线程调用。
public Item[] GetFolders()
{
Dictionary<long,string> values = new Dictionary<long,string> ();
Dictionary<long,string> values2 = new Dictionary<long,string> ();
var remotePage = service.GetPage();
foreach(var remotesummary in remotePage)
{
values2.Add(remotesummary.id, remotesummary.name);
}
foreach(var remotesummary in remotePage)
{
values.Add(remotesummary.id, remotesummary.name);
}
}
修改代码以克服异常&#34;&#34;
public Item[] GetFolders()
{
Dictionary<long,string> values = new Dictionary<long,string> ();
Dictionary<long,string> values2 = new Dictionary<long,string> ();
foreach(var remotesummary in remotePage)
{
var remt = remotesummary;
values.Add(remotesummary.id, remotesummary.name);
}
foreach(var remotesummary in remotePage)
{
var remt = remotesummary;
values2.Add(rem.id, rem.name);
}
}
答案 0 :(得分:2)
您可以在插入密钥之前检查该密钥是否已存在。将其添加到您的代码中
if (dict.ContainsKey(key)) { ... }
请注意,您需要为变量名更改dict
:D