第二十三讲:泛型入门

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值