本文实例讲述了c#中foreach原理以及模拟的实现方法,分享给大家供大家参考。具体如下:
public int count { get { return names.length; } } //可以通过对象访问此属性
public string this[int index] //定义一个索引器
{
get { return names[index]; }
}
public ienumerator getenumerator()
{
return new myclass(names); //实际上通过此方法就是返回一个可以实现循环的类的对象
// 用他的对象来移动索引
}
}
public class myclass :ienumerator
{
public myclass(string[] names) //一个参数的构造函数,用来和要遍历的类的进行关联
{
name = names;
}
private string[] name; //用此字段来存放接收过来的数组
int index = -1;
public object current //获取当前索引的元素的值
{
get
{
if (index<0) //准备状态是-1,开始循环了在movenext中加1
{
return null;
}
else
{
return name[index];
}
}
}
public bool movenext()
{
++index; //每调用此方法就将索引往下+1
if (index<name.length)
{
return true;
}
else
{
return false;
}
}
public void reset()
{
index=-1;
}
}
在主方法里面:
希望本文所述对大家的c#程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析
网友评论