当前位置: 首页 > 编程语言 > C#

如何在类上实现IEnumerator分享

时间:2023-04-10 14:12:08 C#

C#学习教程:C#-如何在一个类上实现IEnumerator公共类项目{privateDictionary_items=newDictionary();公共配置this[stringelement]{get{if(_items.ContainsKey(element)){return_items[element];}else{返回空值;}}设置{_items[元素]=值;}}}在此示例中,Configuration是一个具有少量属性的简单类。只是实现类型安全的IEnumerable而不是IEnumerator的示例,您可以在foreach循环中使用它。公共类项目:IEnumerable{privateDictionary_items=newDictionary();publicvoidAdd(stringelement,Configurationconfig){_items[element]=config;}publicConfigurationthis[stringelement]{get{if(_items.ContainsKey(element)){return_items[element];}else{返回空值;}}设置{_items[元素]=值;}}publicIEnumeratorGetEnumerator(){返回_items.Values.GetEnumerator();}System.Collections.IEnumeratorSystem.Collections.IEnumerable.GetEnumerator(){返回_items.Values.GetEnumerator();}}问候。您应该能够像这样实现IEnumerator:publicclassItems:IEnumerator>{privateDictionary_items=newDictionary();公共配置this[stringelement]{get{if(_items.ContainsKey(element)){return_items[element];}else{返回空值;}}设置{_items[元素]=值;}}int当前;公共对象Current{get{return_items.ElementAt(current);}}publicboolMoveNext(){if(_items.Count==0||_items.CountIEnumerator>.Current{get{return_items.ElementAt(current);}}publicvoidDispose(){//在这里处理}}但正如已经指出的那样,您也可以实现IEnumerable。您无需实现IEnumerable或任何接口。要能够在foreach中使用您的类,您只需向您的类添加一个具有以下签名的实例方法:以上全部为C#学习教程分享:C#-如何在类上实现IEnumerator如果内容对你有用,需要进一步了解C#学习教程,希望大家多多关注——IEnumeratorGetEnumerator()本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处: