Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der as-Operator muss mit einem Referenztyp oder einem Typ, der NULL-Werte zulässt, verwendet werden. ("int" ist ein Werttyp, der keine NULL-Werte zulässt.)
An den as -Operator wurde ein Werttypübergeben. Da NULL von as zurückgegeben werden kann, kann nur ein Verweistyp oder ein Nullwerte zulassender Typ übergeben werden.
Mithilfe des Musterabgleichs mit dem is-Operator können wir die Typüberprüfung und die Typzuweisungen jedoch direkt in einem Schritt durchführen.
Im folgenden Beispiel wird CS0077 generiert:
// 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;
}
}
}