C# 泛型 引用型別約束 值型別約束

iamzxf發表於2015-05-07

引用型別約束:

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

namespace referenceConstraint
{
    class Myclass { }

    class GenClass<T> where T : class
    {
        T field;
        public GenClass()
        {
            field = null;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            GenClass<Myclass> g = new GenClass<Myclass>();
            Console.ReadLine();

        }
    }
}
2、值型別約束:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace referenceConstraint
{
    class Myclass { }

    class GenClass<T> where T : struct 
    {
        T field;
        public GenClass(T fld)
        {
            field = fld;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            GenClass<int> g = new GenClass<int>(0);
            Console.ReadLine();

        }
    }
}



相關文章