Page d'Accueil

Commutateurs conditionnels

 

L'opérateur ternaire (? :)

L'opérateur conditionnel se comporte comme un simple énoncé if… else. Sa syntaxe est :

Condition ? Statement1 : Statement2;

Le compilateur examinerait d'abord la condition. Si la condition est vraie, alors elle exécuterait Statement1, autrement elle exécuterait Statement2. Quand vous demandez deux nombres à l'utilisateur et voudriez les comparer, le programme suivant est fait pour découvrir lequel des deux nombres est plus grand. La comparaison est effectuée en utilisant l'opérateur conditionnel :

using System;

class NewProject
{
    static void Main()
    {
	int Number1, Number2, Maximum;
	string Num1, Num2;
	
	Console.Write("Enter first numbers: ");
	Num1 = Console.ReadLine();
	Console.Write("Enter second numbers: ");
	Num2 = Console.ReadLine();
		
	Number1 = int.Parse(Num1);
	Number2 = int.Parse(Num2);
	
	Maximum = (Number1 < Number2) ? Number2 : Number1;
	
	Console.Write("\nThe maximum of ");
	Console.Write(Number1);
	Console.Write(" and ");
	Console.Write(Number2);
	Console.Write(" is ");
	Console.WriteLine(Maximum);
	
	Console.WriteLine();
    }
}

Voici un exemple d'exécution du programme ;

Enter first numbers: 244
Enter second numbers: 68

The maximum of 244 and 68 is 244

Étude pratiqueÉtude pratique : Présentation des variables booléennes

  1. Commencez visuel C# de Microsoft
  2. Créer une nouvelle application de console appelée FlowerShop2
  3. Pour créer une nouvelle classe, sur le menu principal, cliquez projet - > Ajouter la classe…
  4. Placez le nom de la classe Flower et le cliquez Ajouter
  5. Changez le fichier Flower.cs comme suit :
     
    using System;
    
    namespace FlowerShop2
    {
        public enum FlowerType
        {
            Roses = 1,
            Lilies,
            Daisies,
            Carnations,
            LivePlant,
            Mixed
        }
    
        public enum FlowerColor
        {
            Red = 1,
            White,
            Yellow,
            Pink,
            Orange,
            Blue,
            Lavender,
            Mixed
        }
    
        public enum FlowerArrangement
        {
            Bouquet = 1,
            Vase,
            Basket,
            Any
        }
    
        class Flower
        {
            public FlowerType Type;
            public FlowerColor Color;
            public FlowerArrangement Arrangement;
            public decimal UnitPrice;
    
            public Flower()
            {
                Type = FlowerType.Mixed;
                Color = FlowerColor.Mixed;
                Arrangement = FlowerArrangement.Vase;
                UnitPrice = 0.00M;
            }
            public Flower(FlowerType type)
            {
                Type = type;
                Color = FlowerColor.Mixed;
                Arrangement = FlowerArrangement.Vase;
                UnitPrice = 0.00M;
            }
            public Flower(FlowerType type, FlowerColor color,
                    FlowerArrangement argn, decimal price)
            {
                Type = type;
                Color = color;
                Arrangement = argn;
                UnitPrice = price;
            }
        }
    }
  6. Sauvegardez le fichier

if… else if et if… else if… else

Si vous utilisez l'énoncé conditionnel if… else, vous pouvez traiter seulement deux énoncés. Dans certains cas, vous pouvez traiter avec plus de deux conditions. Dans ce cas, vous pouvez utiliser la condition if… else if. Sa formule est:

if(Condition1) Statement1;
else if(Condition2) Statement2;

Le compilateur examinera d'abord la Condition1. Si Condition1 est vrai, alors Statement1 (l'énoncé1) serait exécuté. Si la Condition1 est fausse, alors le compilateur vérifierait la Condition2. Si la Condition2 est vrai, alors le compilateur exécuterait Statement2 (l'énoncé2). N'importe quel autre résultat serait ignoré. Voici un exemple :

using System;

public enum HouseType
{
    Unknown,
    SingleFamily,
    Townhouse,
    Condominium
}

class Program
{
    static void Main()
    {
        HouseType type = HouseType.Unknown;
        int choice;
        string strGarage = "";

        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("You Choice? ");
        choice = int.Parse(Console.ReadLine());

        if (choice == 1) type = HouseType.SingleFamily;
        else if (choice == 2) type = HouseType.Townhouse;

        Console.Write("Does the house have an indoor garage (1=Yes/0=No)? ");
        int ans = int.Parse(Console.ReadLine());
        if (ans == 1)
            strGarage = "Yes";
        else
            strGarage = "No";

        Console.WriteLine("\nDesired House Type: {0}", type);
        Console.WriteLine("Has indoor garage?  {0}", strGarage);
    }
}

Voici un exemple d'exécution du programme :

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 1
Does the house have an indoor garage (1=Yes/0=No)? 1

Desired House Type: SingleFamily
Has indoor garage?  Yes
Press any key to continue . . .

Voici un autre exemple d'exécution du programme :

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 2
Does the house have an indoor garage (1=Yes/0=No)? 6

Desired House Type: Townhouse
Has indoor garage?  No
Press any key to continue . . .

Notez que seulement deux conditions sont évaluées. Aucune condition autre que ces deux n'est considérée. Puisqu'il peut y avoir d'autres solutions de rechange, le langage C# fournit une autre alternative en dernier recours. Sa formule est:

if(Condition1)
    Statement1;
else if(Condition2)
    Statement2;
else
    Statement-n;
if(Condition1)
    Statement1;
else if(Condition2)
    Statement2;
else if(Condition3)
    Statement3;
else
    Statement-n;

Le compilateur vérifiera la première condition. Si la Condition1 est vraie, il exécute Statement1. Si la Condition1 est fausse, alors le compilateur vérifiera la deuxième condition. Si la Condition2 est vraie, il exécutera Statement2. Quand le compilateur trouve une condition-n vraie, il exécutera son énoncé correspondant. si la condition-n est fausse, le compilateur vérifiera les conditions suivantes. Ceci signifie que vous pouvez inclure autant de conditions que vous voulez en utilisant l'énoncé else if. Si après avoir examiné toutes les conditions possibles connues vous pensez toujours qu'il pourrait y avoir une condition inattendue, vous pouvez utiliser le else simple facultatif. Voici un exemple :

using System;

public enum HouseType
{
    Unknown,
    SingleFamily,
    Townhouse,
    Condominium
}

class Program
{
    static void Main()
    {
        HouseType type = HouseType.Unknown;
        int choice;
        string strGarage = "";

        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("You Choice? ");
        choice = int.Parse(Console.ReadLine());

        if (choice == 1)
            type = HouseType.SingleFamily;
        else if (choice == 2)
            type = HouseType.Townhouse;
        else if (choice == 3)
            type = HouseType.Condominium;
        else
            type = HouseType.Unknown;

        Console.Write("Does the house have an indoor garage (1=Yes/0=No)? ");
        int ans = int.Parse(Console.ReadLine());
        if (ans == 1)
            strGarage = "Yes";
        else
            strGarage = "No";

        Console.WriteLine("\nDesired House Type: {0}", type);
        Console.WriteLine("Has indoor garage?  {0}", strGarage);
    }
}

Voici un exemple d'exécution du programme:

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 3
Does the house have an indoor garage (1=Yes/0=No)? 0

Desired House Type: Condominium
Has indoor garage?  No
Press any key to continue . . .
 

Précédent Copyright © 2007, Yevol Suivant