Référence du langage C#
as (Référence C#)

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.
}
Notes

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,

expression as type

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.

Exemple

// 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

Voir aussi

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#

Mots clés :


Community Content

Gilles TOURREAU - MVP
L'opérateur 'as' peut fonctionner même si l'opérande "expression" est null.

Si l'opérande "expression" est null, l'opérateur as fonctionnera sans problème et retournera null.

object objetNull = null;
string s = objetNull as string;
//s vaut null

Cela implique que si la valeur retournée par l'opérateur as est null alors soit :

  • L'objet "expression" n'est pas du type "type".
  • L'objet "expression" est null.
Mots clés : null as

Page view tracker