Ler em inglês

Compartilhar via


Array.Clear Método

Definição

Sobrecargas

Clear(Array)

Limpa o conteúdo de uma matriz.

Clear(Array, Int32, Int32)

Define um intervalo de elementos em uma matriz como o valor padrão de cada tipo de elemento.

Clear(Array)

Origem:
Array.CoreCLR.cs
Origem:
Array.CoreCLR.cs
Origem:
Array.CoreCLR.cs

Limpa o conteúdo de uma matriz.

C#
public static void Clear (Array array);

Parâmetros

array
Array

Matriz a ser limpa.

Exceções

array é null.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9

Clear(Array, Int32, Int32)

Origem:
Array.CoreCLR.cs
Origem:
Array.CoreCLR.cs
Origem:
Array.CoreCLR.cs

Define um intervalo de elementos em uma matriz como o valor padrão de cada tipo de elemento.

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

Parâmetros

array
Array

A matriz cujos elementos precisam ser limpos.

index
Int32

O índice inicial do intervalo de elementos a limpar.

length
Int32

O número de elementos a limpar.

Exceções

array é null.

index é menor que o limite inferior de array.

- ou -

length é menor que zero.

- ou -

A soma de index e length é maior que o tamanho do array.

Exemplos

O exemplo a seguir usa o Clear método para redefinir valores inteiros em uma matriz unidimensional, bidimensional e tridimensional.

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
 */

O exemplo a seguir define uma TimeZoneTime estrutura que inclui um TimeZoneInfo campo e um DateTimeOffset campo. Em seguida, ele chama o Clear método para limpar um elemento em uma matriz de dois elementos de TimeZoneTime valores. O método define o valor do elemento desmarcado como o valor padrão de um TimeZoneInfo objeto , que é null, e o valor padrão de um DateTimeOffset objeto , que é 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

Comentários

Esse método redefine cada elemento em uma matriz para o valor padrão do tipo de elemento. Ele define elementos de tipos de referência (incluindo String elementos) como nulle define elementos de tipos de valor para os valores padrão mostrados na tabela a seguir.

Type Valor
Boolean false
Todos os tipos numéricos de ponto integral e flutuante 0 (zero)
DateTime DateTime.MinValue
Outros tipos de valor Valor padrão dos campos do tipo

O intervalo de elementos limpos encapsula de linha em linha em uma matriz multidimensional.

Esse método limpa apenas os valores dos elementos; ele não exclui os próprios elementos. Uma matriz tem um tamanho fixo; portanto, os elementos não podem ser adicionados ou removidos.

Este método é uma operação O(n), em que n é length.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.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