(0) exportieren Drucken
Alle erweitern

as (C#-Referenz)

Wird verwendet, um Konvertierungen zwischen kompatiblen Verweistypen auszuführen. Beispiel:

string s = someObject as string;
if (s != null)
{
    // someObject is a string.
}

Der as-Operator kann mit einem Umwandlungsvorgang verglichen werden. Wenn allerdings keine Konvertierung möglich ist, gibt as das Ergebnis null zurück, statt eine Ausnahme auszulösen. Formaler gesehen ist ein Ausdruck der Form

expression as type

äquivalent zu

expression is type ? (type)expression : (type)null

mit der Ausnahme, dass expression nur einmal ausgewertet wird.

Beachten Sie, dass der as-Operator nur Verweis- und Boxingkonvertierungen ausführt. Andere Konvertierungen, z. B. benutzerdefinierte Konvertierungen, werden vom as-Operator nicht unterstützt. Diese sollten stattdessen mithilfe von Umwandlungsausdrücken ausgeführt werden.

// cs_keyword_as.cs
// The as operator.
using System;
class Class1
{
}

class Class2
{
}

class MainClass
{
    static void Main()
    {
        object[] objArray = new object[6];
        objArray[0] = new Class1();
        objArray[1] = new Class2();
        objArray[2] = "hello";
        objArray[3] = 123;
        objArray[4] = 123.4;
        objArray[5] = null;

        for (int i = 0; i < objArray.Length; ++i)
        {
            string s = objArray[i] as string;
            Console.Write("{0}:", i);
            if (s != null)
            {
                Console.WriteLine("'" + s + "'");
            }
            else
            {
                Console.WriteLine("not a string");
            }
        }
    }
}

Ausgabe

0:not a string
1:not a string
2:'hello'
3:not a string
4:not a string
5:not a string

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 6 Konvertierungen

  • 7.9.10 Der as-Operator

Anzeigen:
© 2014 Microsoft