版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Hello_leiyuanyi/article/details/81264575
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 集合_销存管理系统
{
public class Goods
{
public string Code; //编号
public string Name;
public Goods(string code,string name) //定义构造函数,赋初始值
{
this.Code = code;
this.Name = name;
}
}
public class JHClass : IEnumerable, IEnumerator //定义集合类
{
private Goods[] _goods; //初始化Goods类型的集合
public JHClass(Goods[] gArray) //使用带参构造函数赋值
{
_goods = new Goods[gArray.Length];
for (int i=0;i<gArray.Length;i++)
{
_goods[i] = gArray[i];
}
}
// 实现IEnumerable接口中的GetEnumerator方法
IEnumerator IEnumerable.GetEnumerator()
{
return (IEnumerator)this;
}
int position = -1; //记录索引位置
object IEnumerator.Current
{
get
{
return _goods[position];
}
}
public bool MoveNext() //实现IEnumberator中的MoveNext方法
{
position++;
return (position < _goods.Length);
}
//实现IENumberator中的Reset方法
public void Reset()
{
position = -1; //指向第一个元素
}
void IEnumerator.Reset()
{
throw new NotImplementedException();
}
}
class Program
{
static void Main(string[] args)
{
Goods[] goodsArray = new Goods[3]
{
new Goods("T0001","笔记本电脑"),
new Goods("T0001","华为荣耀4X"),
new Goods("T0003","iPad平板电脑"),
}; //初始化Goods数组
JHClass jhList = new JHClass(goodsArray); //使用数组创建集合类对象
//遍历集合
foreach (Goods g in jhList)
{
Console.WriteLine(g.Code+" "+g.Name);
}
Console.ReadLine();
}
}
}