Lire en anglais

Partager via


Enum.GetValues Méthode

Définition

Surcharges

GetValues(Type)

Récupère un tableau des valeurs des constantes dans une énumération spécifiée.

GetValues<TEnum>()

Récupère un tableau de valeurs des constantes dans un type d’énumération spécifié.

GetValues(Type)

Source:
Enum.cs
Source:
Enum.cs
Source:
Enum.cs

Récupère un tableau des valeurs des constantes dans une énumération spécifiée.

C#
public static Array GetValues(Type enumType);
C#
[System.Runtime.InteropServices.ComVisible(true)]
public static Array GetValues(Type enumType);

Paramètres

enumType
Type

Type énumération.

Retours

Tableau qui contient les valeurs des constantes dans enumType.

Attributs

Exceptions

enumType a la valeur null.

enumType n'est pas Enum.

La méthode est appelée par réflexion dans un contexte de réflexion uniquement

- ou -

enumType est un type issu d’un assembly chargé dans un contexte de réflexion uniquement.

.NET 8 et versions ultérieures : enumType est un type d’énumération booléen.

Exemples

L'exemple suivant illustre l'utilisation de GetValues.

C#
using System;

public class GetValuesTest {
    enum Colors { Red, Green, Blue, Yellow };
    enum Styles { Plaid = 0, Striped = 23, Tartan = 65, Corduroy = 78 };

    public static void Main() {

        Console.WriteLine("The values of the Colors Enum are:");
        foreach(int i in Enum.GetValues(typeof(Colors)))
            Console.WriteLine(i);

        Console.WriteLine();

        Console.WriteLine("The values of the Styles Enum are:");
        foreach(int i in Enum.GetValues(typeof(Styles)))
            Console.WriteLine(i);
    }
}
// The example produces the following output:
//       The values of the Colors Enum are:
//       0
//       1
//       2
//       3
//
//       The values of the Styles Enum are:
//       0
//       23
//       65
//       78

Remarques

Les éléments du tableau sont triés par les valeurs binaires des constantes d’énumération (c’est-à-dire par leur magnitude non signée). L’exemple suivant affiche des informations sur le tableau retourné par la GetValues méthode pour une énumération qui inclut une valeur négative, zéro et une valeur positive.

C#
using System;

enum SignMagnitude { Negative = -1, Zero = 0, Positive = 1 };

public class Example
{
   public static void Main()
   {
      foreach (var value in Enum.GetValues(typeof(SignMagnitude))) {
         Console.WriteLine("{0,3}     0x{0:X8}     {1}",
                           (int) value, ((SignMagnitude) value));
}   }
}
// The example displays the following output:
//         0     0x00000000     Zero
//         1     0x00000001     Positive
//        -1     0xFFFFFFFF     Negative

La GetValues méthode retourne un tableau qui contient une valeur pour chaque membre de l’énumération enumType . Si plusieurs membres ont la même valeur, le tableau retourné inclut des valeurs en double. Dans ce cas, l’appel de la GetName méthode avec chaque valeur dans le tableau retourné ne restaure pas les noms uniques attribués aux membres qui ont des valeurs en double. Pour récupérer tous les noms des membres d’énumération, appelez la GetNames méthode .

La GetValues méthode ne peut pas être appelée à l’aide de la réflexion dans un contexte de réflexion uniquement. Au lieu de cela, vous pouvez récupérer la valeur de tous les membres d’énumération en utilisant la Type.GetFields méthode pour obtenir un tableau d’objets FieldInfo qui représentent des membres d’énumération, puis appeler la FieldInfo.GetRawConstantValue méthode sur chaque élément du tableau. L’exemple suivant illustre cette technique. Vous devez définir l’énumération suivante dans un assembly nommé Enumerations.dll :

C#
[Flags] enum Pets { None=0, Dog=1, Cat=2, Rodent=4, Bird=8,
                    Fish=16, Reptile=32, Other=64 };

L’assembly est chargé dans un contexte de réflexion uniquement, un Type objet qui représente l’énumération Pets est instancié, un tableau d’objets est récupéré et les valeurs de FieldInfo champ sont affichées dans la console.

C#
using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      Assembly assem = Assembly.ReflectionOnlyLoadFrom(@".\Enumerations.dll");
      Type typ = assem.GetType("Pets");
      FieldInfo[] fields = typ.GetFields();

      foreach (var field in fields) {
         if (field.Name.Equals("value__")) continue;

         Console.WriteLine("{0,-9} {1}", field.Name + ":",
                                         field.GetRawConstantValue());
      }
   }
}
// The example displays the following output:
//       None:     0
//       Dog:      1
//       Cat:      2
//       Rodent:   4
//       Bird:     8
//       Fish:     16
//       Reptile:  32
//       Other:    64

S’applique à

.NET 10 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

GetValues<TEnum>()

Source:
Enum.cs
Source:
Enum.cs
Source:
Enum.cs

Récupère un tableau de valeurs des constantes dans un type d’énumération spécifié.

C#
public static TEnum[] GetValues<TEnum>() where TEnum : struct;

Paramètres de type

TEnum

Type de l'énumération.

Retours

TEnum[]

Tableau qui contient les valeurs des constantes dans TEnum.

Exceptions

.NET 8 et versions ultérieures : TEnum est un type d’énumération booléen.

S’applique à

.NET 10 et autres versions
Produit Versions
.NET 5, 6, 7, 8, 9, 10