文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c#基础(1) 理解泛型

c#基础(1) 理解泛型

时间:2011-02-26  来源:段英杰

首先说一下泛型的好处:极大的减少了重复代码,使我们的程序更加清爽,泛型类相当于一个模板,可以在需要时为这个模板传入我们想要的类型。

首先我们需要看一个 C#实现一个比较简单的冒泡排序

 

        public void maopao(int[] array)
        {
            int length = array.Length;
            for (int i = 0; i <length; i++)
            {
                for (int j = i + 1; j < length; j++)
                {
                   
                    if (array[i]>array[j])
                    {
                        int temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;

                    }
                }
            }
        }

好,我们很容易的就实现了对整型数组的冒泡排序,如果某一天我们想实现对string[]数组的排序呢?相信大家已经想到了,再复制一遍代码 把参数类型改成string

,那么很好,这个要求我们也很容易的实现了,如果说还有其他类型呢?所以这里就需要泛型了。刚才我们针对的都是简单类型,现在我们引入一个类book,为了方便我们就给它2个属性 id  title,并实现了 icomparable接口的compareto方法

 

public class book : IComparable
    {
        public book() { }


        private int id;
        private string title;


        public book(int id, string title)
        {
            this.id = id;
            this.title = title;
        }

        public int Id
        {
            get { return id; }
            set { id = value; }

        }

        public string Title
        {
            get
            {
                return title;
            }
            set
            {
                title = value;
            }
        }

        public int CompareTo(object obj)
        {
            book book2 = (book)obj;
            return this.id.CompareTo(book2.id);
        }
    }

然后我们在main里面 创建一个book的实例  然后 给book数组赋值

 

            book[] bookarray = new book[2];
            book book1 = new book(123, "测试书籍1");//创建book1  book2实例
            book book2 = new book(456, "测试书籍2");
            bookarray[0] = book1;//赋值
            bookarray[1] = book2;
            jisuan myjisuan = new jisuan();
            myjisuan.maopao(bookarray);
            foreach (book bk1 in bookarray)
            {
                Console.WriteLine(bk1.Id + "" + bk1.Title);
                
            }
            Console.Read();

到此  我们简单的接触了泛型,其实在book里 我们也可以实现一个 泛型接口 然后 用List.sort()方法进行比较。有兴趣的朋友可以MSDN,相信难不倒你的。基础的东西真的很重要。想复习的朋友就跟我一步一步来复习吧。

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载