第二十三讲:泛型入门

来源:互联网 发布:安徽大学网络平台 编辑:程序博客网 时间:2024/06/04 23:30
1. 泛型简介及优缺点
    1.泛型是具有占位符(类型参数)的类,结构,接口和方法
    2. 运行速度会因为类型转换的次数减少而加快
    3. List<T>类是ArrayList类的泛型等效类。该类用大小可按需动态增加的数组实现lList<T>泛型接口
    4. 索引为整数,从0开始
    
    泛型的优点:
        1. 性能好
        2. 类型安全
        3. 二进制代码重用
        4. 代码的扩展

        5. 命名约定


从普通数组到高级强类型数组:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace Con23{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("=======关于数组从普通到强类型的总结============");            Console.WriteLine("\n*********普通滴**********");            int[][] pt = new int[3][];//就整个普通的锯齿数组吧            pt[0] = new int[3] { 1,2,3};            pt[1] = new int[5] {5,6,7,8,9 };            pt[2] = new int[8] { 1,2,3,4,5,6,7,8};            foreach (int[] i in pt)            {                foreach (int j in i)                {                    Console.Write(j+"   ");                }                Console.WriteLine("\n--------------------------");            }            Console.WriteLine("\n*********稍微高级点的Array**********");            Array arr1 = new object[] { "abc", "bcd", 1, 2, 3, 'a', 'b', 12.3f, 234.45d };//大杂烩,注意初始化的方式            Array arr2 = Array.CreateInstance("abc".GetType(), 5); //这里定义了数组的容量和所要装入的数据类型            //接下来是对arr2这个数组进行装数据,使用的是就是Array的SetValue方法            arr2.SetValue("Hello", 0);            arr2.SetValue("123", 1);            arr2.SetValue("中国", 2);            arr2.SetValue("千山万水", 3);            arr2.SetValue("123.456", 4);            for (int i = 0; i < arr1.Length; i++)            {                Console.Write(arr1.GetValue(i).ToString()+" "); //注意这个特殊获取数组元素的方法            }            Console.WriteLine("\n");            for (int i = 0; i < arr2.Length; i++)            {                Console.Write(arr2.GetValue(i).ToString()+" "); //注意这个特殊获取数组元素的方法            }            Console.WriteLine("\n\n*********再稍微高级点的ArrayList**********");            ArrayList al = new ArrayList() { "中国人民", "爱中国", 123, 123.456f };            al.Add("中安合正");            al.Add("http://www.umbo.com.cn");            al.Remove(123); //移除指定项            al.RemoveAt(0); //按索引号移除指定项            al.AddRange(new int[] {1,3,6,33 }); //添加一个范围            foreach (object o in al)            {                Console.Write(o.ToString()+"    ");            }            Console.WriteLine("\n\n*********高级的泛型出现了List<T>**********");            List<string> l = new List<string>() {"How are you!","你好吗?","伟大的神啊!" };            l.Add("哈哈,我新来的!");            foreach (string s in l)            {                Console.Write(s+"   ");            }                         Console.ReadKey();        }    }}

执行结果:


0 0
原创粉丝点击