首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

list泛型和类数组的有关问题

2012-11-07 
list泛型和类数组的问题资料说泛型的出现是为了不用装箱和拆箱,但我定义一个类的数组也不用装箱和拆箱啊请

list泛型和类数组的问题
资料说泛型的出现是为了不用装箱和拆箱,但我定义一个类的数组也不用装箱和拆箱啊
请问以下代码的custormerList和custormerArr有什么区别.

C# code
namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            List<Customer> custormerList = new List<Customer>();            custormerList.Add(new Customer { CustomerID = 1, CustomerName = "张三" });            custormerList.Add(new Customer { CustomerID = 2, CustomerName = "李四" });            Customer c1 = new Customer { CustomerID = 1, CustomerName = "张三" };            Customer c2 = new Customer { CustomerID = 1, CustomerName = "张四" };            Customer[] custormerArr = new Customer[] { c1, c2 };        }    }    public class Customer    {        public int CustomerID { get; set; }        public string CustomerName { get; set; }    }}


[解决办法]
我再举一个例子,比如在C# 1.0中,我们想实现一个比较器,我们这样定义基类:
class Comparer
{
//当a>b,返回>0的数,相等返回0,b>a返回<0的数
public virtual int CompareTo(object a, object b) { }
}
我们从它继承,比如我们定义一个比较日期的,我们可能希望这么写:
class DateTimeComparer : Comparer
{
public override int CompareTo(DateTime a, DateTime b) { }
}
但是很抱歉,这么写是不能编译的。我们只能写
class DateTimeComparer : Comparer
{
public override int CompareTo(object a, object b) { }
}
这样根本体现不了它是一个专门为DateTime比较而设计的类,有没有办法能实现呢?只能用泛型。

热点排行