c#自定义泛型类的实现_C#教程-查字典教程网
c#自定义泛型类的实现
c#自定义泛型类的实现
发布时间:2016-12-28 来源:查字典编辑
摘要:闲来无事,自己研究了泛型类的简单的使用,where表示泛型约束,表示泛型类型中的参数只能是car类型,IEnumerable是一个接口,一个...

闲来无事,自己研究了泛型类的简单的使用,

where表示泛型约束,表示泛型类型中的参数只能是car类型,IEnumerable是一个接口,一个集合要支持FOREAch遍历,

必须实现IEnumerable接口

复制代码 代码如下:

public class Car

{

public string PetName;

public int Speed;

public Car(string name, int currentSpeed)

{

PetName = name;

Speed = currentSpeed;

}

public Car() { }

}

public class CarCollection<T> : IEnumerable<T> where T : Car

{

private List<T> Tcars = new List<T>();

//添加

public void AddCar(T t)

{

Tcars.Add(t);

}

//获取其中一个

public T GetCar(int pos)

{

return Tcars[pos];

}

public int Count()

{

return Tcars.Count;

}

#region IEnumerable<T> 成员

public IEnumerator<T> GetEnumerator()

{

return Tcars.GetEnumerator();

}

#endregion

#region IEnumerable 成员

System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()

{

return Tcars.GetEnumerator();

}

#endregion

}

复制代码 代码如下:

private void button1_Click(object sender, EventArgs e)

{

Car car1 = new Car("one", 150);

Car car2= new Car("two", 50);

Car car3 = new Car("three", 150);

CarCollection<Car> cars = new CarCollection<Car>();

cars.AddCar(car1);

cars.AddCar(car2);

cars.AddCar(car3);

MessageBox.Show(cars.Count().ToString());

foreach (Car item in cars)

{

MessageBox.Show(item.PetName+"--"+item.Speed.ToString());

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类