閱讀英文

共用方式為


編譯器錯誤 CS0403

無法將 null 轉換成類型參數 'name',因為它是不可為 Null 的實值類型。 請考慮改用 default('T')。

您無法將 null 指派給指定的未知類型,因為它可能是不允許 null 指派的實值類型。 如果泛型類別預定不接受實值類型,請使用類別類型條件約束。 如果它可以接受實值類型 (例如內建類型),您可以將 null 指派取代為運算式 default(T)(如下列範例所示)。

範例

下列範例會產生 CS0403。

// CS0403.cs  
// compile with: /target:library  
class C<T>  
{  
   public void f()  
   {  
      T t = null;  // CS0403  
      T t2 = default(T);   // OK  
    }  
}  
  
class D<T> where T : class
{  
   public void f()  
   {  
      T t = null;  // OK  
    }  
}