alexandrekow
alexandrekow

Reputation: 1937

How to translate a Java Enumeration to C#?

I have some Java code and I would like to translate it to C#. srcParams is a Hashtable.

This is the Java code:

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

And this is my attempt in C#

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

Could you tell me if it's correct?

Upvotes: 2

Views: 932

Answers (1)

jason
jason

Reputation: 241611

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

What you have is close to being okay, just rename the variables and add the use of IEnumerator.Current:

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

Upvotes: 3

Related Questions