C#1.1中实现 foreach 功能

C# 中实现 foreach 功能 1. MySplit 类 /// /// MySplit 类 /// public class MySplit : IEnumerable { private string[] elements; public MySplit(string source, char[] delimiters) { elements = source.Split(delimiters); } IEnumerator IEnumerable.GetEnumerator() { return new MyEnumerator(this); } #region 在嵌套类中实现 IEnumerator 接口 /// /// 在嵌套类中实现 IEnumerator 接口,以便以后方便创建多个枚举 /// public class MyEnumerator : IEnumerator { private int position = -1; private MySplit t; public MyEnumerator(MySplit t) { this.t = t; } public bool MoveNext() { if (position < t.elements.Length - 1) { position++; return true; } else { return false; } } public void Reset() { position = -1; } object IEnumerator.Current { get { try { return t.elements[position]; } catch (IndexOutOfRangeException) { throw new InvalidOperationException(); } } } } #endregion } 2. 使用 MySplit mySplit = new MySplit("大豆男生: I Love You!", new char[] { ' ', '-' }); foreach (string item in mySplit) { Console.WriteLine(item); } 3. 输出结果 大豆男生: I Love You!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值