Page d'Accueil

Rangées bidimensionnelles

 

Introduction

Les rangées que nous avons utilisées jusqu'ici ont été faites d'une série uniforme, où tous les membres sont composés d'une simple liste, comme une colonne des noms sur un morceau de papier. En outre, tous les articles s'ajustent dans une liste. Dans certains cas, vous pouvez vouloir diviser la liste en sections délimitées. Par exemple, si vous créez une liste de noms, vous pouvez vouloir qu'une partie de la liste inclue les membres de la famille et une autre partie de la liste inclure les amis. Au lieu de créer une deuxième liste, vous pouvez ajouter une deuxième dimension à la liste. En d'autres termes, vous voudriez créer une liste d'une liste, ou une liste à l'intérieur d'une autre liste, bien que la liste soit encore faite d'articles avec des caractéristiques communes.

Une rangée multidimensionnelle est une série de listes telle que chaque liste contienne sa propre liste. Par exemple, si vous créez deux listes de noms, vous auriez un choix de deux listes. Chaque rangée ou liste aurait sa propre liste ou rangée.

Étude pratique Étude pratique : Présentation des rangées multidimensionnelles

  1. Créez une nouvelle application de console appelée DepartmentStore4
  2. Changez le fichier Program.cs comme suit :
     
    using System;
    
    namespace DepartmentStore4
    {
        class Program
        {
            static int Main(string[] args)
            {
                long ItemID = 0;
                string Description = "Unknown";
                decimal Price = 0.00M;
    
                Console.WriteLine("Receipt");
                Console.WriteLine("Item Number: {0}", ItemID);
                Console.WriteLine("Description: {0}", Description);
                Console.WriteLine("Unit Price:  {0:C}\n", Price);
    
                return 0;
            }
        }
    }
  3. Exécutez l'application pour voir le résultat. Ceci produirait :
     
    Receipt
    Item Number: 0
    Description: Unknown
    Unit Price:  $0.00
    
    Press any key to continue . . .
  4. Fermez la fenêtre DOS

Créer une rangée bidimensionnelle

La rangée multidimensionnelle la plus fondamentale est la rangée d'une rangée, également désigné sous le nom bidimensionnel. Pour créer une rangée bidimensionnelle, déclarez la variable rangée comme nous avons fait plus tôt mais ajoutez une virgule dans les crochets. La formule que vous utiliseriez est :

DataType[,] VariableName;

La paire de parenthèses est vide mais doit contenir une virgule. Il y a deux manières d'utiliser une rangée bidimensionnelle. Si vous déclarez la variable rangée mais n'êtes pas prêt à l'initialiser, utilisez la formule suivante :

DataType[,] VariableName = new DataType[Number1,Number2];

Basé sur ceci,  tapez deux nombres entiers séparés par une virgule dans les crochets droits. Voici un exemple :

using System;

namespace CSharpLessons
{
    class Exercise
    {
	static void Main()
	{
	    string[,] Members = new string[2,4];
	}
    }
}

Dans cette déclaration, la variable membres contient deux listes. Chacune des deux listes contient 4 articles. Ceci signifie que la première liste contient 4 articles, la deuxième liste contient 4 articles également. Par conséquent, la liste entière est faite de 8 articles (2*4=8). Puisque la variable est déclarée comme string, chacun des 8 articles est un string.

Vous pouvez initialiser une variable rangée en le déclarant. Pour ce faire, du côté droit de la déclaration, avant le point-virgule de clôture, tapez des accolade ouverture et fermée. À l'intérieur des parenthèses, inclure une paire d'accolades ouverte et fermée pour chaque liste interne de la rangée. Puis, à l'intérieur d'une paire d'accolades, fournir une liste des valeurs de la rangée interne, juste comme vous feriez pour une rangée unidimensionnelle. Voici un exemple :

using System;

namespace CSharpLessons
{
    class Exercise
    {
	static void Main()
	{
	    string[,] members = new String[2,4]{
		 {"Celeste", "Mathurin", "Alex", "Germain"},
		   {"Jeremy", "Mathew", "Anselme", "Frederique"}
                 };

            Console.WriteLine();
	}
    }
}

Si vous utilisez cette technique pour initialiser une rangée, vous pouvez omettre d'indiquer la dimension de la rangée.

Étude pratique Étude pratique : Créer une rangée bidimensionnelle

  1. Pour créer et utiliser une rangée bidimensionnelle, changez le fichier comme suit:
     
    using System;
    
    namespace DepartmentStore4
    {
        class Program
        {
            static int Main(string[] args)
            {
                long ItemID = 0;
                string Description = "Unknown";
                decimal Price = 0.00M;
    
                // The first list contains women's items
                // The other contains non-women items
                long[,] ItemNumber = new long[2, 5]{
    		  { 947783, 934687, 973947, 987598, 974937 },
    		  { 739579, 367583, 743937, 437657, 467945 } };
                string[,] ItemName = new string[2, 5]
    	    {
    		{
    		    "Women Double-faced wool coat",
    		    "Women Floral Silk Tank Blouse",
    		    "Women Push Up Bra",
    		    "Women Chiffon Blouse",
    		    "Women Bow Belt Skirtsuit"
    		},
    		{
    		    "Men Cotton Polo Shirt",
    		    "Children Cable-knit Sweater  ",
                        "Children Bear Coverall Cotton",
    		    "Baby three-piece Set         ",
    		    "Girls Jeans with Heart Belt  "
    		}
    	    };
            
    	    decimal[,] UnitPrice = new decimal[2, 5]
    	    {
    		{ 275.25M, 180.05M, 50.00M, 265.35M, 245.55M   },
    	    	{ 45.55M, 25.65M,	28.25M, 48.55M, 19.95M }
    	    };
    		
                Console.WriteLine("Receipt");
                Console.WriteLine("Item Number: {0}", ItemID);
                Console.WriteLine("Description: {0}", Description);
                Console.WriteLine("Unit Price:  {0:C}\n", Price);
    
                return 0;
            }
        }
    }
  2. Enregistrez le fichier

Accès aux Membres d'une Rangée Bidimensionnelle

Pour utiliser les membres d'une rangée bidimensionnelle, vous pouvez accéder à chaque article individuellement. Par exemple, pour initialiser une rangée bidimensionnelle, vous pouvez accéder à chaque membre de la rangée et lui assigner une valeur. La liste externe est basée à zéro. En d'autres termes, la première liste a un index 0, la deuxième liste a un index 1. Intérieurement, chaque liste est basée à zéro et se comporte exactement comme une rangée unidimensionnelle. Pour accéder à un membre de la liste, dactylographiez le nom de la variable suivie de ses crochets. Dans les parenthèses, dactylographiez l'index de la liste, une virgule, et l'index interne du membre dont vous avez besoin d'accéder. Voici un exemple :

using System;

namespace CSharpLessons
{
    class Exercise
    {
	static void Main()
	{
	    String[,] members = new String[2,4];

             members[0,0] = "Celeste";
             members[0,1] = "Mathurin";
	     members[0,2] = "Alex";
	     members[0,3] = "Germain";
	     members[1,0] = "Jeremy";
	     members[1,1] = "Mathew";
             members[1,2] = "Anselme";
             members[1,3] = "Frederique";

             Console.WriteLine();
	}
    }
}

Étude pratique Étude pratique : Membres d'accès d'une rangée bidimensionnelle

  1. Pour recouvrer les valeurs d'une rangée bidimensionnelle, changez le fichier comme suit:
     
    using System;
    
    namespace DepartmentStore4
    {
        class Program
        {
            static int Main(string[] args)
            {
                long ItemID = 0;
                string Description = "Unknown";
                decimal Price = 0.00M;
    
                // The first list contains women's items
                // The other contains non-women items
                long[,] ItemNumber = new long[2, 5]
    	    {
    		{ 947783, 934687, 973947, 987598, 974937 },
    		{ 739579, 367583, 743937, 437657, 467945 } };
                string[,] ItemName = new string[2, 5]
    	    {
    	 	{
    		    "Women Double-faced wool coat",
    		    "Women Floral Silk Tank Blouse",
    		    "Women Push Up Bra",
    		    "Women Chiffon Blouse",
    		    "Women Bow Belt Skirtsuit"
    		},
    		{
    		    "Men Cotton Polo Shirt",
    		    "Children Cable-knit Sweater  ",
                        "Children Bear Coverall Cotton",
    		    "Baby three-piece Set         ",
    		    "Girls Jeans with Heart Belt  " } };
                decimal[,] UnitPrice = new decimal[2, 5]{
    		 { 275.25M, 180.05M, 50.00M, 265.35M, 245.55M },
    		 { 45.55M, 25.65M,	28.25M, 48.55M, 19.95M } };
    
                // Order Processing
                try
                {
                    Console.Write("Enter Item Number: ");
                    ItemID = long.Parse(Console.ReadLine());
                }
                catch (FormatException)
                {
    Console.WriteLine("Invalid Number - The program will terminate\n");
                }
    
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 5; j++)
                    {
                        if (ItemID == ItemNumber[i, j])
                        {
                            Description = ItemName[i, j];
                            Price = UnitPrice[i, j];
                        }
                    }
                }
    
                Console.WriteLine("Receipt");
                Console.WriteLine("Item Number: {0}", ItemID);
                Console.WriteLine("Description: {0}", Description);
                Console.WriteLine("Unit Price:  {0:C}\n", Price);
    
                return 0;
            }
        }
    }
  2. Exécutez l'application et l'examiner. Voici un exemple :
     
    Enter Item Number: 739579
    Receipt
    Item Number: 739579
    Description: Men Cotton Polo Shirt
    Unit Price:  $45.55
    
    Press any key to continue . . .
  3. Fermez la fenêtre DOS
  4. Exécutez l'application encore et écrivez un nombre d'article différent. Voici un exemple :
     
    Enter Item Number: 273644
    Receipt
    Item Number: 273644
    Description: Unknown
    Unit Price:  $0.00
    
    Press any key to continue . . .
  5. Fermez la fenêtre DOS
 

Précédent Copyright © 2007, Yevol Suivant