为什么同样是泛型结构,我的却不能为null???

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

namespace ConsoleApplication24
{
   public struct kong<T> where T : struct
   {
       T value;
   }
   class Program
   {
       static void Main(string[] args)
       {
           System.Nullable<int> i1 =new Nullable<int>();
           i1 = null;
           kong<int> bb = new kong<int>();
           bb = null;//错误    1    无法将 Null 转换成“ConsoleApplication24.kong<int>”,因为它是一种不可为 null 值的类型    

       }
   }
}

狐的传说
浏览 741回答 2
2回答

函数式编程

值类型是不能为空的,可空类型 如:int? 其实是Nullable<T>可能fcl中的定义是Nullable<T> 的格式定义的

幕布斯7119047

因为你定义成了struct,struct是不能为null的,如果需要为null,定义成class即可
打开App,查看更多内容
随时随地看视频慕课网APP