共用方式為


編譯器錯誤 CS0403

更新:2007 年 11 月

錯誤訊息

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

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

範例

下列範例會產生 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
    }
}