Utilisé pour exécuter des conversions entre des types référence compatibles. Par exemple :
string s = someObject as string;
if (s != null)
{
// someObject is a string.
}
L'opérateur as est semblable à une opération de cast ; toutefois, si la conversion n'est pas possible, as retourne null au lieu de déclencher une exception. De manière plus formelle, une expression de la forme,
est équivalente à,
expression is type ? (type)expression : (type)null
si ce n'est que expression est évaluée une seule fois.
Notez que l'opérateur as n'effectue que des conversions de référence et des conversions boxing. L'opérateur as ne permet pas d'effectuer d'autres conversions, telles que des conversions définies par l'utilisateur, qui doivent plutôt être effectuées à l'aide d'expressions de cast.
// 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");
}
}
}
}
Sortie
| |
|---|
0:not a string
1:not a string
2:'hello'
3:not a string
4:not a string
5:not a string |
Spécification du langage C#
Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
-
6 Conversions
-
7.9.10 Opérateur as
Référence
Mots clés C#
is (Référence C#)
?:, opérateur (Référence C#)
Mots clés des opérateurs (Référence C#)
Concepts
Guide de programmation C#
Autres ressources
Référence C#