c#自定义泛型类的实现

 更新时间:2013年05月31日 11:50:42   作者:  
本篇文章是对c#中自定义泛型类的实现方法进行了详细的分析介绍,需要的朋友参考下
闲来无事,自己研究了泛型类的简单的使用,
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#中的常用ToString()方法总结

    c#中的常用ToString()方法总结

    很多类都重写了ToString方法, 导致很多类的tostring到底执行了什么,有哪些参数,都不清楚
    2012-10-10
  • C#简单实现在网页上发邮件的案例

    C#简单实现在网页上发邮件的案例

    本文分享一个C#利用SMTP发送邮件的案例,提供了前后台代码,方便大家学习。
    2016-03-03
  • C#使用Datatable导入sqlserver数据库的三种方法

    C#使用Datatable导入sqlserver数据库的三种方法

    本文主要介绍了C#使用Datatable导入sqlserver数据库的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • C#实现动态加载dll的方法

    C#实现动态加载dll的方法

    这篇文章主要介绍了C#实现动态加载dll的方法,涉及针对动态链接库的灵活操作技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • C#中的数组作为参数传递所引发的问题

    C#中的数组作为参数传递所引发的问题

    这篇文章主要介绍了C#中的数组作为参数传递所引发的问题 的相关资料,需要的朋友可以参考下
    2016-03-03
  • Unity3D实现分页系统

    Unity3D实现分页系统

    这篇文章主要为大家详细介绍了Unity3D实现分页系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 基于WPF开发一个分页控件

    基于WPF开发一个分页控件

    这篇文章主要为大家详细介绍了如何使用WPF(Windows Presentation Foundation)开发一个分页控件,并深入解析其实现原理,感兴趣的小伙伴可以了解下
    2024-04-04
  • C#排序算法之归并排序

    C#排序算法之归并排序

    这篇文章主要为大家详细介绍了C#排序算法之归并排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • C#使用Stack类进行堆栈设计详解

    C#使用Stack类进行堆栈设计详解

    C#中的堆栈由System.Collections.Generic命名空间中的Stack类定义,那么下面就跟随小编一起学习一下C#如何Stack类进行堆栈设计吧
    2024-03-03
  • C#简单实现IOC容器的示例代码

    C#简单实现IOC容器的示例代码

    IoC 的原理是通过将对象的创建和依赖关系的管理交给外部容器来实现,从而降低了代码的耦合度,提高了代码的可维护性和可测试性,下面我们就来看看如何通过C#实现一个IOC容器吧
    2024-02-02

最新评论