Tôi cần viết một hàm trong C# để lấy một java.util.Map và chuyển đổi nó thành một từ điển C#. (Dự án tôi đang làm việc trên sử dụng IKVM để sử dụng một số lớp Java trong C#.)Cách tốt nhất để chuyển đổi một bản đồ Java sang một từ điển trong C#
Tôi đã thử sử dụng vòng lặp foreach (ví dụ: foreach (java.util.Map.Entry in map)
hoặc foreach (string key in map.keySet())
để thêm vào phần tử Từ điển theo yếu tố, nhưng có vẻ như Java Maps và Sets không được liệt kê
Cách tiếp cận tốt nhất của tôi ở đây là gì? Tôi có nên sử dụng một java.util.Iterator? (Tôi không phản đối sử dụng Java Iterator về nguyên tắc, nhưng nó cảm thấy như có nên một cách sạch hơn, "c-sắc nét-y") Tôi đoán tôi có thể lấy keySet, sử dụng phương thức Set toArray(), và lặp qua rằng, nhưng một lần nữa, nó không cảm thấy "c-sharp- y ". Tôi có nên vượt qua bản thân mình và làm một trong những điều đó hay không, hay là có một wa tốt hơn y? (? Hoặc, những hai lựa chọn, đó là hiệu quả hơn về thời gian/không gian chụp)
Để tham khảo, đây là một phác thảo về những gì tôi đang cố gắng để làm:
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;
}
Làm thế nào bạn có thể trộn Java và C#? – jsalonen
@jsalonen bởi [IKVM] (http://www.ikvm.net/) – I4V
Ồ đúng, điểm tốt. Tôi sẽ thêm nó vào câu hỏi. – firechant