我有一个接受hashTable的方法,我使用concat将它添加到另一个hashTable的末尾,但是我收到此错误:
The type arguments for method
System.Linq.Enumerable.Concat<TSource>(this System.Collections.Generic.IEnumerable<TSource>,System.Collections.Generic.IEnumerable<TSource>)'
cannot be inferred from the usage.
我不完全明白这意味着什么或我错了什么.我的方法看起来像这样:
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#来说还是新手.
解决方法
不幸的是,没有简单的方法来合并/连接两个HashTable,你必须以传统的方式循环每个条目.
foreach (DictionaryEntry entry in hashTable) { if(!ht.ContainsKey(entry.Key)) { ht.Add(entry.Key,entry.Value); } } // rest of the logic