|
Énumérations |
|
Considérez que, en créant un programme pour une compagnie immobilière qui vend des maisons, vous voulez que le programme demande à un(e) client(e) le type de maison qu'il ou qu'elle veut acheter et/ou le type de garage que la maison désirée devrait avoir. Voici un exemple : using System;
class Program
{
static void Main()
{
int TypeOfHouse = 0;
int TypeOfGarage = 0;
Console.WriteLine("Enter the type of house you want to purchase");
Console.WriteLine("1 - Single Family");
Console.WriteLine("2 - Townhouse");
Console.WriteLine("3 - Condominium");
Console.Write("Your Choice: ");
TypeOfHouse = int.Parse(Console.ReadLine());
Console.WriteLine("Enter the type of garage you want");
Console.WriteLine("0 - Doesn't matter");
Console.WriteLine("1 - Interior");
Console.WriteLine("2 - Exterior");
Console.Write("Your Choice: ");
TypeOfGarage = int.Parse(Console.ReadLine());
Console.WriteLine("\nHouse Type: {0}", TypeOfHouse);
Console.WriteLine("Garage Type: {0}", TypeOfGarage);
}
}
Voici un exemple d'exécution du programme : Enter the type of house you want to purchase 1 - Single Family 2 - Townhouse 3 - Condominium Your Choice: 3 Enter the type of garage you want 0 - Doesn't matter 1 - Interior 2 - Exterior Your Choice: 1 House Type: 3 Garage Type: 1 Press any key to continue . . . Pour un tel programme, les nombres peuvent être vagues. 1 peut être considéré comme un nombre général mais, dans notre programme, il peut représenter une maison SingleFamily ou un type de garage intérieur. En même temps, notre programme utilise la constante 1 d'une manière particulièrement signicative. Pour permettre de donner plus de signification à un nombre constant, quand le nombre peut être considéré comme une partie d'une série, C# vous permet de créer un type de liste. Une énumération est une série de nombres entiers constants où chacune a une position spécifique dans la liste et peut être reconnue par un nom signicatif. Basé sur ceci, au lieu de vous rappeler juste que la constante 1 représente SingleFamily, vous pouvez créer une liste qui contient ce type de maison. Dans une autre liste, au lieu d'utiliser 1 encore, vous pouvez lui donner un nom. En conséquence, dans chaque liste, bien que la constante 1 soit encore considérée, au moins elle signifierait quelque chose de précis. Pour créer une énumération, vous utilisez le mot-clé enum, suivi du nom de l'énumération, suivi d'un nom pour chaque article de la liste. Le nom de l'énumérateur et le nom de chaque article de la liste suit les règles que nous avons passées en revue pour les noms. La formule pour créer une énumération est : enum Series_Name {Item1, Item2, Item_n} ;
Voici un exemple : using System;
class Program
{
enum HouseType { Unknown, SingleFamily, TownHouse, Condominium }
static void Main()
{
}
}
Après avoir créé une énumération, chaque membre contient une valeur d'un nombre naturel, tel que 0, 4, 12, 25, etc. Dans C#, une énumération ne peut pas contenir des valeurs de caractère (de type char). Après avoir créé une énumération, vous pouvez déclarer une variable à partir d'elle. Voici un exemple : using System;
class Program
{
enum HouseType { Unknown, SingleFamily, TownHouse, Condominium }
static void Main()
{
HouseType propType;
}
}
Après la déclaration d'une telle variable, pour l'initialiser, indiquez quel membre de l'énumération serait affecté à la variable. Vous devriez seulement affecter un membre connu de l'énumération. Pour ce faire, du côté droit de l'opérateur de tâche, dactylographiez le nom de l'énumération, suivi de l'opérateur point, et suivi du membre dont vous voulez assigner une valeur. Voici un exemple : using System;
class Program
{
enum HouseType { Unknown, SingleFamily, TownHouse, Condominium }
static void Main()
{
HouseType propType = HouseType.SingleFamily;
}
}
Vous pouvez également découvrir quelle valeur la variable déclarée contient actuellement. Par exemple, vous pouvez l'afficher sur la console en utilisant Write () ou WriteLine (). Voici un exemple : using System;
class Program
{
enum HouseType { Unknown, SingleFamily, TownHouse, Condominium }
static void Main()
{
HouseType propType = HouseType.SingleFamily;
Console.WriteLine("House Type: {0}", propType);
}
}
Ceci produirait : House Type: SingleFamily Press any key to continue . . . Une énumération est en fait une liste de nombres où chaque membre de la liste est identifié par un nom. Par défaut, le premier article de la liste a une valeur 0, la seconde a une valeur 1, etc. par exemple, sur l'énumération de HouseType, Inconnu a la valeur 0 tandis que Townhouse a la valeur 2. Ce sont les valeurs par défaut. Si vous ne voulez pas de ces valeurs, vous pouvez explicitement définir la valeur d'un ou chaque membre de la liste. Supposez que vous voulez que le membre Inconnu dans l'énumération ci-dessus ait la valeur 5. Pour ce faire, utilisez l'opérateur de tâche « = » pour donner la valeur désirée. L'énumérateur serait: using System;
class Program
{
enum HouseType { Unknown = 5, SingleFamily, TownHouse, Condominium }
static void Main()
{
}
}
Dans ce cas-ci, Inconnu aurait maintenant la valeur 5, SingleFamily aurait la valeur 6, Townhouse aurait la valeur 7, et condominium aurait la valeur 8. Vous pouvez également assigner une valeur à plus d'un membre d'une énumération. Voici un exemple : using System;
class Program
{
enum HouseType { Unknown = 3, SingleFamily = 12, TownHouse, Condominium = 8 }
static void Main()
{
}
}
Dans ce cas-ci, Townhouse aurait la valeur 13 parce qu'elle suit SingleFamily qui a la valeur 12.
Par défaut, si vous créez une énumération de la manière dont nous avons procédé jusqu'ici, elle sera disponible seulement dans le projet auquel il appartient. Comme fait pour une classe, vous pouvez commander l'accessibilité à une énumération en dehors de son projet. Ceci signifie que vous pouvez la cacher ou la rendre visible à l'extérieur de son projet. Pour ce faire, vous pouvez la précéder du mot-clé private ou public. Voici un exemple : using System;
class Program
{
public enum HouseType
{
Unknown,
SingleFamily,
TownHouse,
Condominium
}
static void Main()
{
HouseType propType = HouseType.SingleFamily;
Console.WriteLine("House Type: {0}", propType);
}
}
Après avoir créé une énumération, vous pouvez l'utiliser comme un type de données pour déclarer une variable. Pour créer un champ qui est d'un type d'énumération, suivez les mêmes règles que celles faites pour les types primitifs : le nom de l'énumération, suivi du nom de la variable, et suivi d'un point-virgule. Voici un exemple : public enum HouseType
{
Unknown,
SingleFamily,
TownHouse,
Condominium
}
public class House
{
HouseType PropertyType;
}
De la même manière, vous pouvez déclarer autant de variables énumération comme vous voulez. Après la déclaration de la variable, pour l'initialiser, lui affecter le membre désiré de l'énumération. Voici un exemple : public enum HouseType
{
Unknown,
SingleFamily,
TownHouse,
Condominium
}
public class House
{
HouseType PropertyType;
public House()
{
PropertyType = HouseType.Unknown;
}
}
Une fois que le membre de la variable a été initialisé, vous pouvez l'utiliser comme vous voulez, et tel que nous apprendrons et pratiquerons dans de futures leçons. Au minimum, vous pouvez le passer par Write () ou WriteLine () pour afficher sa valeur. Voici un exemple : using System;
public enum HouseType
{
Unknown,
SingleFamily,
TownHouse,
Condominium
}
public class House
{
public HouseType PropertyType;
public House()
{
PropertyType = HouseType.Unknown;
}
public void Display()
{
Console.WriteLine("Property Type: {0}", PropertyType);
}
}
class Program
{
static void Main()
{
House propType = new House();
propType.Display();
Console.WriteLine();
propType.PropertyType = HouseType.SingleFamily;
propType.Display();
Console.WriteLine();
}
}
Ceci produirait : Property Type: Unknown Property Type: SingleFamily Press any key to continue . . . En l'utilisant comme un type de données normal, vous pouvez créer une méthode qui renvoie une énumération. Vous pouvez également passer une énumération à une méthode comme argument.
|
|
|
||
| Précédent | Copyright © 2007, Yevol | Suivant |
|
|
||