这里的基本成绩在于C#中根深蒂固的假定:该假定即每品种型都有默许值。试想一下:假如T没有(或大概没有取得)默许值,那末编译器在盘算default(T)、初始化范例T的字段、或初始化某个范例T的新数组中的数组项时就会无值可用。因为一谈到非可空援用范例就会触及此成绩,只管某些援用范例具有得当的非空默许值(比方非空字符串范例的默许值多是空字符串),但是关于年夜多半援用范例而言却并不是云云。试想一下:IEnumerator<int>的默许非空值是甚么?IObservable<bool>呢?UserControl呢?NetworkStream呢?谜底很复杂,它们没有任何默许非空值。而你能做的最好办法就是,给出某种仿照实例,即一旦你实验利用该实例就会招致失利……不外我们已有了那种实例,并称之为null(空)。
欢迎光临 仓酷云 (http://ckuyun.com/) | Powered by Discuz! X3.2 |