110,533
社区成员
发帖
与我相关
我的任务
分享
public static void CloneKeyTo(ASObject sourceASO, out ASObject desASO)
{
desASO = new ASObject();
string[] keys;
lock (sourceASO.Keys)
{
keys = sourceASO.Keys.ToArray();
}
foreach (string key in keys)
{
lock (sourceASO)
{
if (sourceASO.ContainsKey(key))//这里出异常,说key==null
{
desASO[key] = sourceASO[key];
}
}
}
}
Dictionary<string,object> demoObj = new Dictionary<string,object>();
demoObj[null]=1;//这是更加不可能的,直接异常。
public static void CloneKeyTo(ASObject sourceASO, out ASObject desASO)
{
desASO = new ASObject();
string[] keys;
lock (sourceASO.Keys)
{
keys = sourceASO.Keys.ToArray();
}
lock (sourceASO)
{
foreach (string key in keys)
{
if (key == null) continue;
if (sourceASO.ContainsKey(key))
{
desASO[key] = sourceASO[key];
}
}
}
}
public class ASObject : Dictionary<string,object>
{
}