类泛型及其泛型约束代码实例

来源:互联网 发布:淘宝盖楼怎么才能中 编辑:程序博客网 时间:2024/05/21 21:01

话不多说,看代码

class Program    {        static void Main(string[] args)        {            //在集合中加入书籍信息            Book[] books = new Book[3];            Book b1 = new Book(54,"c#入门经典");            Book b2 = new Book(32.0,"php教程");            Book b3 = new Book(105,"c#高级编程");            books[0] = b1;            books[1] = b2;            books[2] = b3;            Console.WriteLine("书籍按价格排序(从高到低排列)如下:");            SortHelper<Book> sh = new SortHelper<Book>();            sh.DoSort(books);            //在客户端显示            foreach (Book b in books)            {                Console.WriteLine("书名:{0},价格{1}",b.Title,b.Price);            }            Console.ReadKey();        }    }    //book类实现IComparable接口    class Book : IComparable    {        public Book(double dPrice, string sTitle)        {            this._price = dPrice;            this._title = sTitle;        }        //价格        private double _price;        public double Price        {            get { return _price; }            set { _price = value; }        }        //书名        private string _title;        public string Title        {            get { return _title; }            set { _title = value; }        }        public int CompareTo(object o)        {            Book b = o as Book;            return this.Price.CompareTo(b.Price);        }    }    //类泛型  泛型约束    class SortHelper<T> where T : IComparable    {        public void DoSort(T[] tArray)        {            for (int i = 0; i < tArray.Length - 1; i++)            {                for (int j = 0; j < tArray.Length - i - 1; j++)                {                    //冒泡排序                    if (tArray[j + 1].CompareTo(tArray[j]) > 0)                    {                        T tem = tArray[j + 1];                        tArray[j + 1] = tArray[j];                        tArray[j] = tem;                    }                }            }        }    }


0 0
原创粉丝点击