C# 将哈希表添加到另一个哈希表的末尾

C# 将哈希表添加到另一个哈希表的末尾,c#,C#,我有一个接受哈希表的方法,我正在使用concat将其添加到另一个哈希表的末尾,但我得到了以下错误: 无法从用法推断方法System.Linq.Enumerable.Concat(this System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)的类型参数 我不完全理解这意味着什么,也不完全理解我做错了什么。我的方法如下所示: public void resetCameras(Hashtable h

我有一个接受哈希表的方法,我正在使用concat将其添加到另一个哈希表的末尾,但我得到了以下错误:

无法从用法推断方法
System.Linq.Enumerable.Concat(this System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable)
的类型参数

我不完全理解这意味着什么,也不完全理解我做错了什么。我的方法如下所示:

public void resetCameras(Hashtable hashTable)
{
    Hashtable  ht = new Hashtable();

    ht.Add("time", 2.0f);
    ht.Add("easeType","easeInOutQuad");
    ht.Add("onupdate","UpdateSize");
    ht.Add("from",size);
    ht.Add("to",5.0f);

    if(hashTable != null) {
        ht = ht.Concat(hashTable);
    }

    iTween.ValueTo(gameObject,ht);
}

希望你能帮我解释一下我的错误,对C#来说还是个新手。

不幸的是,没有简单的方法可以合并/concat两个
哈希表,你必须用传统的方法循环每个条目

foreach (DictionaryEntry entry in hashTable)
{
    if(!ht.ContainsKey(entry.Key))
    {
        ht.Add(entry.Key, entry.Value);
    }   
}  

// rest of the logic

枚举哈希表时,只枚举键。基本上,LINQ告诉您需要为您要处理的键提供值。还要注意,哈希表/字典没有顺序的概念,所以“添加到末尾”实际上不是这些类型的有效操作。@Tersosauros所以我必须使用for循环?在这种情况下,我能不能不使用
。将的每个键添加到另一个键上?@AlexeiLevenkov啊,好吧,尽管顺序并不重要,谢天谢地:PRelated(非重复):