Lire en anglais

Partager via


Array.Clear Méthode

Définition

Surcharges

Clear(Array)

Efface le contenu d’un tableau.

Clear(Array, Int32, Int32)

Définit une plage d'éléments dans un tableau à la valeur par défaut de chaque type d'élément.

Clear(Array)

Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs

Efface le contenu d’un tableau.

C#
public static void Clear (Array array);

Paramètres

array
Array

Tableau à effacer.

Exceptions

array a la valeur null.

S’applique à

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

Clear(Array, Int32, Int32)

Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs
Source:
Array.CoreCLR.cs

Définit une plage d'éléments dans un tableau à la valeur par défaut de chaque type d'élément.

C#
public static void Clear (Array array, int index, int length);

Paramètres

array
Array

Le tableau dont les éléments doivent être effacés.

index
Int32

Index de départ de la plage d'éléments à effacer.

length
Int32

Nombre d'éléments à effacer.

Exceptions

array a la valeur null.

index est inférieur à la limite inférieure d’array.

- ou -

length est inférieur à zéro.

- ou -

La somme d’index et length est supérieure à la taille d’array.

Exemples

L’exemple suivant utilise la méthode pour réinitialiser des Clear valeurs entières dans un tableau unidimensionnel, bidimensionnel et tridimensionnel.

C#
using System;

class Example
{
    public static void Main()
    {
        Console.WriteLine("One dimension (Rank=1):");
        int[] numbers1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        for (int i = 0; i < 9; i++)
        {
            Console.Write("{0} ", numbers1[i]);
        }
        Console.WriteLine();
        Console.WriteLine();

        Console.WriteLine("Array.Clear(numbers1, 2, 5)");
        Array.Clear(numbers1, 2, 5);

        for (int i = 0; i < 9; i++)
        {
            Console.Write("{0} ", numbers1[i]);
        }
        Console.WriteLine();
        Console.WriteLine();

        Console.WriteLine("Two dimensions (Rank=2):");
        int[,] numbers2 = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                Console.Write("{0} ", numbers2[i, j]);
            }
            Console.WriteLine();
        }

        Console.WriteLine();
        Console.WriteLine("Array.Clear(numbers2, 2, 5)");
        Array.Clear(numbers2, 2, 5);

        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                Console.Write("{0} ", numbers2[i, j]);
            }
            Console.WriteLine();
        }

        Console.WriteLine("Three dimensions (Rank=3):");
        int[, ,] numbers3 = {{{1, 2}, {3, 4}},
                             {{5, 6}, {7, 8}},
                             {{9, 10}, {11, 12}}};

        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 2; j++)
            {
                for (int k = 0; k < 2; k++)
                {
                    Console.Write("{0} ", numbers3[i, j, k]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }

        Console.WriteLine("Array.Clear(numbers3, 2, 5)");
        Array.Clear(numbers3, 2, 5);

        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 2; j++)
            {
                for (int k = 0; k < 2; k++)
                {
                    Console.Write("{0} ", numbers3[i, j, k]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}
/*  This code example produces the following output:
 *
 * One dimension (Rank=1):
 * 1 2 3 4 5 6 7 8 9
 *
 * Array.Clear(numbers1, 2, 5)
 * 1 2 0 0 0 0 0 8 9
 *
 * Two dimensions (Rank=2):
 * 1 2 3
 * 4 5 6
 * 7 8 9
 *
 * Array.Clear(numbers2, 2, 5)
 * 1 2 0
 * 0 0 0
 * 0 8 9
 *
 * Three dimensions (Rank=3):
 * 1 2
 * 3 4
 *
 * 5 6
 * 7 8
 *
 * Array.Clear(numbers3, 2, 5)
 * 1 2
 * 0 0
 *
 * 0 0
 * 0 8
 */

L’exemple suivant définit une TimeZoneTime structure qui inclut un TimeZoneInfo champ et un DateTimeOffset champ. Il appelle ensuite la Clear méthode pour effacer un élément dans un tableau de TimeZoneTime valeurs à deux éléments. La méthode définit la valeur de l’élément effacé sur la valeur par défaut d’un TimeZoneInfo objet, qui est null, et la valeur par défaut d’un DateTimeOffset objet, qui est DateTimeOffset.MinValue.

C#
using System;

public struct TimeZoneTime
{
   private DateTimeOffset dt;
   private TimeZoneInfo tz;

   public TimeZoneTime(DateTimeOffset dateTime, TimeZoneInfo timeZone)
   {
      dt = dateTime;
      tz = timeZone;
   }

   public DateTimeOffset DateTime
   { get { return dt; } }

   public TimeZoneInfo TimeZone
   { get { return tz; } }
}

public class Example
{
   public static void Main()
   {
      // Declare an array with two elements.
      TimeZoneTime[] timeZoneTimes = { new TimeZoneTime(DateTime.Now, TimeZoneInfo.Local),
                                       new TimeZoneTime(DateTime.Now, TimeZoneInfo.Utc) };
      foreach (var timeZoneTime in timeZoneTimes)
         Console.WriteLine("{0}: {1:G}",
                           timeZoneTime.TimeZone == null ? "<null>" : timeZoneTime.TimeZone.ToString(),
                           timeZoneTime.DateTime);
      Console.WriteLine();

      Array.Clear(timeZoneTimes, 1, 1);
      foreach (var timeZoneTime in timeZoneTimes)
         Console.WriteLine("{0}: {1:G}",
                           timeZoneTime.TimeZone == null ? "<null>" : timeZoneTime.TimeZone.ToString(),
                           timeZoneTime.DateTime);
   }
}
// The example displays the following output:
//       (UTC-08:00) Pacific Time (US & Canada): 1/20/2014 12:11:00 PM
//       UTC: 1/20/2014 12:11:00 PM
//
//       (UTC-08:00) Pacific Time (US & Canada): 1/20/2014 12:11:00 PM
//       <null>: 1/1/0001 12:00:00 AM

Remarques

Cette méthode réinitialise chaque élément d’un tableau à la valeur par défaut du type d’élément. Il définit les éléments de types de référence (y compris String les éléments) sur null, et définit les éléments de types valeur sur les valeurs par défaut indiquées dans le tableau suivant.

Type Valeur
Boolean false
Tous les types numériques intégraux et à virgule flottante 0 (zéro)
DateTime DateTime.MinValue
Autres types de valeurs Valeur par défaut des champs du type

La plage d’éléments effacés s’enroule de ligne en ligne dans un tableau multidimensionnel.

Cette méthode efface uniquement les valeurs des éléments ; il ne supprime pas les éléments eux-mêmes. Un tableau a une taille fixe ; par conséquent, les éléments ne peuvent pas être ajoutés ou supprimés.

Cette méthode est une opération O(n), où n est length.

S’applique à

.NET 9 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
.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