Page d'Accueil

L'appui de .NET Framework aux rangées

 

Introduction

Les techniques que nous avons utilisées pour créer des rangées font partie jusqu'ici des routines traditionnelles utilisées dans beaucoup de langages. .NET Framework de Microsoft va plus loin que cela. Chaque fois que vous déclarez une rangée, elle hérite d'une classe appelée Array qui est définie dans l'ensemble du system.dll (Ce qui signifie que vous n'avez besoin d'importer aucune bibliothèque dans votre projet afin d'utiliser la classe Array). La classe Array fournit l'appui pour n'importe quelle rangée en utilisant diverses propriétés et méthodes. Après avoir créé une rangée comme nous avons fait jusqu'ici, vous pouvez vouloir réarranger la liste basée sur un des articles. Vous pouvez vouloir rechercher un article particulier pour découvrir s'il existe; puis, s'il existe, où il est localisé. La classe Array fournit beaucoup d'autres routines pour effectuer de telles opérations.

Addition d'article

Comme fait jusqu'ici, pour ajouter un article à une liste, vous indiquiez son index et assigniez la valeur désirée. Voici un exemple :

class Exercise
{
    static void Main()
    {
	string[] EmployeeName = new string[4];

	EmployeeName[0] = "Joan Fuller";
	EmployeeName[1] = "Barbara Boxen";
	EmployeeName[2] = "Paul Kumar";
	EmployeeName[3] = "Bertrand Entire";
    }
}

Alternativement, vous pouvez utiliser la méthode SetValue() pour ajouter un nouvel article à la liste. Cette méthode a 8 versions. Une des versions de cette méthode prend deux arguments qui se composent d'un objet objet et d'un nombre entier. Le premier argument est la valeur qui doit être ajoutée à la liste, l(es) autre(s) argument(s) (est) sont employé(s) pour l'index. Voici un exemple :

class Exercise
{
    static void Main()
    {
	string[] EmployeeName = new string[4];

	EmployeeName.SetValue("Joan Fuller", 0);
	EmployeeName.SetValue("Barbara Boxen", 1);
	EmployeeName.SetValue("Paul Kumar", 2);
	EmployeeName.SetValue("Bertrand Entire", 3);
    }
}

Récupération d'article

Pour localiser un article d'une rangée, nous avions l'habitude d'utiliser son index. Voici un exemple :

public class Exercise
{
    static void Main()
    {
	string[] EmployeeName = new string[4];

	EmployeeName[0] = "Joan Fuller";
	EmployeeName[1] = "Barbara Boxen";
	EmployeeName[2] = "Paul Kouma";
	EmployeeName[3] = "Bertand Entire";

	Console.WriteLine("Employees Records");
	Console.WriteLine("Employee 1: {0}", EmployeeName[0]);
	Console.WriteLine("Employee 2: {0}", EmployeeName[1]);
	Console.WriteLine("Employee 3: {0}", EmployeeName[2]);
	Console.WriteLine("Employee 4: {0}", EmployeeName[3]);
    }
}

Alternativement, la classe rangée fournit la méthode GetValue(), qui a également avec 8 versions. Voici un exemple :

class Exercise
{
    static void Main()
    {
	string[] EmployeeName = new string[4];

	EmployeeName.SetValue("Joan Fuller", 0);
	EmployeeName.SetValue("Barbara Boxen", 1);
	EmployeeName.SetValue("Paul Kumar", 2);
	EmployeeName.SetValue("Bertrand Entire", 3);

	Console.WriteLine("Employees Records");
	Console.WriteLine("Employee 1: {0}", EmployeeName.GetValue(0));
	Console.WriteLine("Employee 2: {0}", EmployeeName.GetValue(1));
	Console.WriteLine("Employee 3: {0}", EmployeeName.GetValue(2));
	Console.WriteLine("Employee 4: {0}", EmployeeName.GetValue(3));
    }
}

La longueur d'une rangée

Une fois qu'une rangée a été créée, vous pouvez l'utiliser comme vous voulez. Nous avons vu que, en créant une rangée, vous pouvez indiquer le nombre de ses membres, et vous devez faire ceci si vous n'initialisez pas la rangée. Comme nous avons déjà vu, si vous initialisez une rangée en la créant, vous ne devez pas indiquer sa dimension. Voici un exemple :

using System;

class Exercise
{
    static void Main()
    {
	double[] number = new double[]{ 12.44, 525.38, 6.28, 2448.32, 632.04,
			               -378, 48, 6348, 762, 83, 64, -7, 86,
				  534, -6, 386, 73, 5, -284, 3654, 671, 34, 693};

        Console.WriteLine();
    }
}

A un certain moment dans votre programme, vous pouvez vouloir connaître combien de membres sont dans ce type de rangée. Vous pourriez avoir des vertiges en essayant de les compter et vous pourriez faire une erreur en les comptant. Toutes les rangées utilisées dans C# dérivent d'une classe appelée Array. Cette classe fournit une propriété appelée Length. Pour découvrir combien de membres une rangée a, vous pouvez accéder à sa propriété Length. Voici un exemple :

using System;

class Exercise
{
    static void Main()
    {
	double[] number = new double[]{ 12.44, 525.38, 6.28, 2448.32, 632.04,
		                    -378, 48, 6348, 762, 83, 64, -7, 86,
			           534, -6, 386, 73, 5, -284, 3654, 671, 34, 693};
			
        Console.WriteLine("Number of items {0}", number.Length);

        Console.WriteLine();
    }
}

Ceci produirait :

Number of items 23

Les dimensions d'une rangée

Nous avons vu que les crochets sont utilisés pour indiquer au compilateur que vous déclarez une rangée. Si vous créez une rangée unidimensionnelle, nous avons vu que vous pouvez dactylographier un nombre dans le crochet. Si vous créez une rangée bidimensionnelle, vous tapez deux nombres séparés par une virgule dans la deuxième paire de crochets. Chaque nombre, s'il y en a un, deux, ou plus est un support d'endroit pour ce qui est reféré comme dimension. En d'autres termes, une rangée unidimensionnelle a une dimension 1. Une rangée bidimensionnelle a une dimension 2.

Pour découvrir la dimension d'une rangée, la classe rangée, qui est le parent de toutes les rangées, fournit la propriété Rank. Par conséquent, pour savoir la dimension d'une rangée existante, vous pouvez accéder à sa propriété Rank.

 

Les limites d'une rangée

Pour contrôler mieux une rangée, le compilateur doit toujours pouvoir localiser ses membres les plus élevés et plus bas. C'est particulièrement important parce qu'une rangée doit avoir une taille fixe (d'ailleurs, en utilisant une certaine gymnastique, une rangée peut se développer ou se rétrécir, un dispositif qui n'est pas disponible dans C/C++ mais peut être contrôlée dans C# en utilisant .NET Framework).

Le plus bas membre d'une rangée peut être localisé en utilisant la méthode Array.GetLowerBound (). Sa syntaxe est :

public int GetLowerBound(int dimension);

Le membre le plus élevé d'une rangée peut être localisé en utilisant la méthode Array.GetUpperBound (). Sa syntaxe est :

public int GetUpperBound(int dimension);

Dans les deux cas, l'argument de dimension est le grade de la rangée. Pour une rangée uni-dimensionnelle, comme celle que nous avons toujours utilisée jusqu'ici, ce paramètre doit avoir la valeur 0.

  

Précédent Copyright © 2007, Yevol Suivant