int? nFirst =1 ;
           int Second = 2;           nFirst = Second;
           nFirst = 123;
           //Second = nFirst;
           if(nFirst.HasValue)
               Second=(int)nFirst;

解决方案 »

  1.   

    下面就是强制转换,不能隐式
    nFirst = (int)Second;
      

  2.   

    这段我是在网上看到的教程
    http://www.vs2005.com/Category/CSharp-VB.NET/Article/251/1/default.aspx
    然道是这上面错了??那上面写到:这上面说可以用"可以使用内建的隐式转换来转换相同类型的可空变量和非可空变量"使用可空类型  可空类型可以像普通值类型一样的使用。事实上,可以使用内建的隐式转换来转换相同类型的可空变量和非可空变量。这意味着你可以在一个标准整型和可空整型之间相互转换:int nFirst = null;
    int Second = 2;nFirst = Second; // 有效
    nFirst = 123; // 有效
    Second = nFirst; // 同样有效