C# 3.0 请帮助我将此C#2.0代码段转换为Linq

C# 3.0 请帮助我将此C#2.0代码段转换为Linq,c#-3.0,performance,c#-2.0,linq-to-objects,readability,C# 3.0,Performance,C# 2.0,Linq To Objects,Readability,这不是家庭作业;) 我需要A)优化以下代码(在TODO和~TODO之间)和B)将其转换为[P]Linq。需要更好的可读性。分别回答A)和B)可能有意义。谢谢 lock (Status.LockObj) { // TODO: find a better way to merge these dictionaries foreach (KeyValuePair<Guid, Message> sInstance in newSInstanceDictionary)

这不是家庭作业;) 我需要A)优化以下代码(在TODO和~TODO之间)和B)将其转换为[P]Linq。需要更好的可读性。分别回答A)和B)可能有意义。谢谢

lock (Status.LockObj)
{
    // TODO: find a better way to merge these dictionaries
    foreach (KeyValuePair<Guid, Message> sInstance in newSInstanceDictionary)
    {
        this.sInstanceDictionary.Add(sInstance.Key, sInstance.Value);
    }

    foreach (KeyValuePair<Guid, Message> sOperation in newSOperationDictionary)
    {
        this.sOperationDictionary.Add(sOperation.Key, sOperation.Value);
    }
    // ~TODO
}
lock(Status.LockObj)
{
//TODO:找到更好的方法合并这些词典
foreach(newSInstanceDictionary中的KeyValuePair状态)
{
this.sInstanceDictionary.Add(sInstance.Key,sInstance.Value);
}
foreach(newSOperationDictionary中的KeyValuePair操作)
{
这个.sOperationDictionary.Add(sOperation.Key,sOperation.Value);
}
//~TODO
}
顺便问一下我的另一个悬赏问题。

看看接线员:

 return newSInstanceDictionary.Union(newSOperationDictionary).ToDictionary(x => x.Key, y => y.Value);

这里没有LINQ方法可以帮助您,尽管您可以创建自己的扩展方法


如果此代码运行前字典为空,您可以调用
ToDictionary

什么导致您需要优化此代码?这不会返回字典。@SLaks-添加了
ToDictionary
调用。