zoukankan      html  css  js  c++  java
  • 泛型类的简单的使用


    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());
                }
            }

  • 相关阅读:
    屏蔽打开文件时提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致。打开文件前请验证文件没有损坏且来源可信。是否立即打开该文 件?”
    sql实现MD5加密
    微信小程序在苹果手机的New Date坑
    命令行同步互联网时钟
    excel怎么把单元格内某个字标红,其他字不变
    js 字符串排序 String.prototype.localeCompare
    vscode 使用键盘运行 npm命令
    vscode 使用键盘打开 git分支面板
    给img标签的src属性使用file文件对象
    DOM0级 与 DOM2级
  • 原文地址:https://www.cnblogs.com/wyBlog117/p/4552281.html
Copyright © 2011-2022 走看看