为什么要使用泛型?泛型和非泛型对比

Posted <抢囡囡糖未遂/>

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么要使用泛型?泛型和非泛型对比相关的知识,希望对你有一定的参考价值。

 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 泛型和非泛型对比
{
    class Program
    {
        static void Main(string[] args)
        {
            testGeneric();
            testNonGeneric();
            Console.ReadKey();
        }
        //测试泛型类型操作的运行时间
        public static void testGeneric()
        {
            Stopwatch stopwatch = new Stopwatch();
            List<int> list = new List<int>();
            stopwatch.Start();
            for (int i = 0; i < 10000000; i++)
            {
                list.Add(i);
            }
            stopwatch.Stop();
            TimeSpan ts = stopwatch.Elapsed;
            string elapsedTime = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.TotalMilliseconds / 10);
            Console.WriteLine("泛型类型运行的时间:" + elapsedTime);
        }
        public static void testNonGeneric()
        {
            Stopwatch stopwatch = new Stopwatch();
            ArrayList arraylist = new ArrayList();
            stopwatch.Start();
            for (int i = 0; i < 10000000; i++)
            {
                arraylist.Add(i);
            }
            stopwatch.Stop();
            TimeSpan ts = stopwatch.Elapsed;
            string elapsetime = string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
            Console.WriteLine("非泛型运行的时间:" + elapsetime);

        }
    }
}

运行效果图:

 

以上是关于为什么要使用泛型?泛型和非泛型对比的主要内容,如果未能解决你的问题,请参考以下文章

泛型集合与非泛型集合的异同

CLR类型设计之泛型

泛型集合和非泛型集合的区别

深入.NET和C#的小型汽车租赁系统的框架

C#高级编程笔记 Day 5, 9月 13日 (泛型)

为什么要使用泛型和迭代器