泛型--完全手册C#2.0

本文介绍了.NET Framework中泛型集合类的应用,包括List、Dictionary、Queue、Stack和SortedList等,并对比了它们与非泛型类的区别。文章通过具体实例展示了如何使用这些泛型集合类来提高代码效率和质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

非泛型类(System.Collections)对应的泛型类(System.Collections.Generic)
ArrayListList
HashtableDictionary
QueueQueue
StackStack
SortedListSortedList

使用泛型的建议:

1.如果需要对多种类型进行相同的操作处理,则应该使用泛型。

2。如果需要处理值类型,则使用泛型可以避免装箱拆箱带来的性能开销。

3.使用泛型可以在应用程序编译时发现类型错误,增强程序的健壮性。

4.减少不必要的重复编码,使代码结构更加清晰。

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //
使用List<T>替换ArrayList
            List<string> ls = new List<string>();
            ls.Add("
泛型集合元素1");
            ls.Add("
泛型集合元素2");
            ls.Add("
泛型集合元素3");
            foreach (string s in ls)
                Console.WriteLine(s);

        //使用Dictionary<Tkey,Tvalue>
            Console.WriteLine("Dictinary
泛型集合类举例");
            Dictionary<string, string> dct = new Dictionary<string, string>();
            dct.Add("
1", "1");
            dct.Add("
2", "2");
            dct.Add("
3", "3");
            foreach (KeyValuePair<string, string> kvp in dct)
                Console.WriteLine("{0}:{1}", kvp.Key, kvp.Value);
           
            //
使用Queue<T>
            Console.WriteLine("Queue
泛型集合类型:");
            Queue<string> que = new Queue<string>();
            que.Enqueue("
这是队列元素值1");
            que.Enqueue("
这是队列元素值2");
            foreach (string s in que)
                Console.WriteLine(s);

            //使用Stack<T>
            Console.WriteLine("Stack
泛型集合类举例");
            Stack<string> stack = new Stack<string>();
            stack.Push("
这是堆栈元素1");
            stack.Push("
这是堆栈元素2");
            foreach (string s in stack)
                Console.WriteLine(s);

            //使用SortedList<Tkey,Tvalue>
            Console.WriteLine("SortedList
泛型集合举例");
            SortedList<string, string> sl = new SortedList<string, string>();
            sl.Add("key1", "value1");
            sl.Add("key2", "value2");
            sl.Add("key3", "value3");
            sl.Add("key4", "value4");
            foreach (KeyValuePair<string, string> kvp in sl)
                Console.WriteLine("{0}:{1}", kvp.Key, kvp.Value);

            Console.ReadLine();
        }
       
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值