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

c#中的泛型咋那么多限制,竟然不让new

2013-01-11 
c#中的泛型咋那么多限制,居然不让new在C++中是可以使用构造函数的,这里不让创建对象,这限制也太大了。几乎

c#中的泛型咋那么多限制,居然不让new
在C++中是可以使用构造函数的,这里不让创建对象,这限制也太大了。几乎没法使用了!!

class vector<T>
{
    private T buf;
    public vector()
    {
        buf = new T();
    }
}
1>------ 已启动生成: 项目: Csharp, 配置: Debug Any CPU ------
1>C:\Users\ys\Desktop\Csharp\Csharp\Program.cs(14,15,14,22): error CS0304: 变量类型“T”没有 new() 约束,因此无法创建该类型的实例
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

[解决办法]
一般如果只是初始化,可以不要new。
而是写
buf = default(T);

热点排行