将 Enumeration<Integer> for 循环从 Java 转换为 C#? C# 中的 Enumeration<Integer> 到底是啥? [复制]
Posted
技术标签:
【中文标题】将 Enumeration<Integer> for 循环从 Java 转换为 C#? C# 中的 Enumeration<Integer> 到底是啥? [复制]【英文标题】:Converting Enumeration<Integer> for loop from Java to C#? What exactly is an Enumeration<Integer> in C#? [duplicate]将 Enumeration<Integer> for 循环从 Java 转换为 C#? C# 中的 Enumeration<Integer> 到底是什么? [复制] 【发布时间】:2017-06-20 17:00:15 【问题描述】:我正在将一个项目从 Java 转换为 C#。我试图搜索这个,但我遇到的只是关于枚举的问题。有一个 Hashtable htPlaylist,循环使用 Enumeration 遍历键。如何将此代码转换为 C#,但使用字典而不是哈希表?
// My C# Dictionary, formerly a Java Hashtable.
Dictionary<int, SongInfo> htPlaylist = MySongs.getSongs();
// Original Java code trying to convert to C# using a Dictionary.
for(Enumeration<Integer> e = htPlaylist.keys(); e.hasMoreElements();
// What would nextElement() be in a Dictonary?
SongInfo popularSongs = htPlaylist.get(e.nextElement());
【问题讨论】:
哎呀,这段 Java 代码有多少年了? What is the best way to iterate over a Dictionary in C#? 所以我应该只做 foreach(KeyValuePair呃,只是一个foreach
循环?对于给定的
Dictionary<int, SongInfo> htPlaylist = MySongs.getSongs();
要么
foreach (var pair in htPlaylist)
// int key = pair.Key;
// SongInfo info = pair.Value;
...
或者如果你只想要键:
foreach (int key in htPlaylist.Keys)
...
【讨论】:
以上是关于将 Enumeration<Integer> for 循环从 Java 转换为 C#? C# 中的 Enumeration<Integer> 到底是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥 C# 数组对 Enumeration 使用引用类型,而 List<T> 使用可变结构?
为啥我们在枚举中写 Integer 而不是 int? [复制]