我手动将
Java转换为C#并具有以下代码:
for (Iterator<SGroup> theSGroupIterator = SGroup.getSGroupIterator(); theSGroupIterator.hasNext();) { SGroup nextSGroup = theSGroupIterator.next(); }
是否有等价的迭代器?在C#中还是有更好的C#成语?
解决方法
C#中的直接等效值为
IEnumerator<T>
,代码如下所示:
SGroup nextSGroup; using(IEnumerator<SGroup> enumerator = SGroup.GetSGroupEnumerator()) { while(enumerator.MoveNext()) { nextSGroup = enumerator.Current; } }
但惯用的方式是:
foreach(SGroup group in SGroup.GetSGroupIterator()) { ... }
并且GetSGroupIterator返回一个IEnumerable<T>
(并且可能将其重命名为GetSGroups()或类似的).
原文地址:https://www.jb51.cc/java/122902.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。