Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0077

Operator as musi być używany z typem odwołania lub typem dopuszczalnym wartości null ('int' jest typem wartości niepustej).

Operator as został przekazany typ wartości. Ponieważ as może zwracać wartość null, można przekazać tylko typ odwołania lub typ wartości dopuszczający wartość null.

Jednak użycie dopasowania wzorca z operatorem is umożliwia bezpośrednie przeprowadzanie sprawdzania typów i przypisań w jednym kroku.

Poniższy przykład generuje plik CS0077:

// CS0077.cs  
using System;  

struct S  
{  
}  
  
class M  
{  
   public static void Main()  
   {  
      object o;
      S s;  

      o = new S();
  
      s = o as S;    // CS0077, S is not a reference type

      // Use pattern matching instead of as
      if (o is S sValue)
      {
          s = sValue;
      } 
   }  
}