C#でjava.util.Mapを受け取り、それをC#辞書に変換する関数を書く必要があります。 (私が働いているプロジェクトは、C#でいくつかのJavaクラスを使用するようにIKVMを使用しています。)JavaマップをC#で辞書に変換する最も良い方法
私は辞書要素ごとに追加するforeachループ(例えばforeach (java.util.Map.Entry in map)
またはforeach (string key in map.keySet())
を使用して試してみたが、それはそうですJavaマップとセットは列挙できません。
ここで私の最善のアプローチは何ですか?java.util.Iteratorを使用する必要がありますか(私は原則としてJava Iteratorを使用することに反対していませんが、私はkeySetを取得し、SetメソッドtoArray()を使用して、を反復して、という文字列を繰り返しますが、やはり "c-sharp-y"私はちょうど自分自身を乗り越えて、それらの事の一つをしなければなりませんか、またはより良いWAがありますか? y?参考のために、ここで私が何をしようとしているのスケッチ(?要した時間/空間的に、より効率的であるこれら二つのオプションのか、、)
です:
public Dictionary<string, object> convertMap(java.util.Map map)
{
Dictionary<string, object> dict = new Dictionary<string, object>();
foreach (String key in map.keySet()) // doesn't work; map is not enumerable
dict.Add(key, map.get(key));
return dict;
}
どのようにJavaとC#を混在させることができますための拡張メソッドを作成することができますか? – jsalonen
@jsalonen [IKVM](http://www.ikvm.net/) – I4V
ああ、良い点。それを質問に追加します。 – firechant