前往顾页
以后地位: 主页 > 收集编程 > .Net实例教程 >

.NET泛型根本教程

时候:2010-06-22 10:20来源:知行网www.zhixing123.cn 编辑:麦田守望者

 

泛型较为遍及地被会商,这里写到的只是作为老手的入门级熟谙。
泛型最常利用于调集类。
泛型的一个不言而喻的长处在于可以在很多操纵中避免强迫转换或装箱操纵的本钱或风险,拿ArrayList这个调集类来讲,为了到达其通用性,调集元素都将向上转换为object范例,对值范例,更是有装箱拆箱的本钱:
static void Main(string[] args)
{
ArrayList al = new ArrayList();
al.Add(1);
}
在IL中是:
IL_0008: ldc.i4.1
IL_0009: box        [mscorlib]System.Int32
IL_000e: callvirt   instance int32 [mscorlib]System.Collections.ArrayList::Add(object)
box操纵就是装箱,详细过程是把值范例从栈中弹出,放入堆中,同时把在堆中的地点压入到栈中,频繁呈现如许的操纵,本钱比较年夜。


所以在

2.0中,碰到以上的利用,应当利用泛型调集类List<T>
static void Main(string[] args)
{
    List<int> l = new List<int>();
    l.Add(1);
}
 
另外一个比较常常利用的泛型调集类是Dictionary<T,T>,用于保存键值对:
static void Main(string[] args)
{
    Dictionary<int, string> dict = new Dictionary<int, string>();
    dict.Add(1, "SomeBook1");
    dict.Add(2, "SomeBook2");
    dict.Add(3, "SomeBook3");
 
    Console.WriteLine(dict[2]);//output:SomeBook2
    dict[2] = "SomeCD1";//modify
    Console.WriteLine(dict[2]);//output:SomeCD1
 
    dict.Remove(2);//delete
 
    foreach (KeyValuePair<int, string> kv in dict)
    {
        Console.WriteLine("Key = {0}, Value = {1}",kv.Key, kv.Value);
    }
}

顶一下
(1)
100%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):.NET .NET教程
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣