2010-11-03 95 views
2

我有一些Java代码,我想将它翻译成C#。 srcParams是一个Hashtable。如何将Java枚举转换为C#?

这是Java代码:

for (Enumeration keys = srcParams.keys(); keys.hasMoreElements()) { 
    key = keys.nextElement(); 
    destParams.Add(key, srcParams[key]); 
} 

这是我尝试在C#

IEnumerator key = srcParams.Keys.GetEnumerator(); 
while (key.MoveNext()) { 
    destParams.Add(key, srcParams[key]); 
} 

你能告诉我,如果这是正确的吗?

回答

3
foreach(var key in srcParams.Keys) { 
    destParams.Add(key, srcParams[key]); 
} 

你有什么是紧挨是好的,只是重命名变量并添加使用的IEnumerator.Current

IEnumerator enumerator = srcParams.Keys.GetEnumerator(); 
while (enumerator.MoveNext()) { 
    object key = enumerator.Current; 
    destParams.Add(key, srcParams[key]); 
}