Array.Clear Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
public:
static void Clear(Array ^ array);
public static void Clear (Array array);
static member Clear : Array -> unit
Public Shared Sub Clear (array As Array)
Paramètres
- array
- Array
Tableau à effacer.
Exceptions
array
a la valeur null
.
S’applique à
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.
public:
static void Clear(Array ^ array, int index, int length);
public static void Clear (Array array, int index, int length);
static member Clear : Array * int * int -> unit
Public Shared Sub Clear (array As Array, index As Integer, length As Integer)
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.
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
*/
open System
printfn "One dimension (Rank=1):"
let numbers1 = [| 1..9 |]
for i in numbers1 do
printf $"{i} "
printfn "\n\nArray.Clear(numbers1, 2, 5)"
Array.Clear(numbers1, 2, 5)
for i in numbers1 do
printf $"{i} "
printfn "\n\nTwo dimensions (Rank=2):"
let numbers2 = array2D [ [ 1; 2; 3 ]; [ 4; 5; 6 ]; [ 7; 8; 9 ] ]
for i = 0 to 2 do
for j = 0 to 2 do
printfn $"{numbers2[i, j]} "
printfn ""
printfn "\nArray.Clear(numbers2, 2, 5)"
Array.Clear(numbers2, 2, 5)
for i = 0 to 2 do
for j = 0 to 2 do
printfn $"{numbers2[i, j]} "
printfn ""
printfn "Three dimensions (Rank=3):"
let numbers3 = Array3D.zeroCreate 2 2 2
numbers3[0, 0, 0] <- 1
numbers3[0, 0, 1] <- 2
numbers3[0, 1, 0] <- 3
numbers3[0, 1, 1] <- 4
numbers3[1, 0, 0] <- 5
numbers3[1, 1, 0] <- 7
numbers3[1, 0, 1] <- 6
numbers3[1, 1, 1] <- 8
for i = 0 to 1 do
for j = 0 to 1 do
for k = 0 to 1 do
printf $"{numbers3[i, j, k]} "
printfn ""
printfn ""
printfn "Array.Clear(numbers3, 2, 5)"
Array.Clear(numbers3, 2, 5)
for i = 0 to 1 do
for j = 0 to 1 do
for k = 0 to 1 do
printf $"{numbers3[i, j, k]} "
printfn ""
printfn ""
// 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
//
Module Example
Sub Main()
Console.WriteLine(vbLf & "One dimension (Rank=1):")
Dim numbers1() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9}
For i As Integer = 0 To 8
Console.Write("{0} ", numbers1(i))
Next
Console.WriteLine()
Console.WriteLine(vbLf & "Array.Clear(numbers1, 2, 5)")
Array.Clear(numbers1, 2, 5)
For i As Integer = 0 To 8
Console.Write("{0} ", numbers1(i))
Next
Console.WriteLine()
Console.WriteLine(vbLf & "Two dimensions (Rank=2):")
Dim numbers2(,) As Integer = {{ 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }}
For i As Integer = 0 To 2
For j As Integer = 0 To 2
Console.Write("{0} ", numbers2(i, j))
Next
Console.WriteLine()
Next
Console.WriteLine(vbLf & "Array.Clear(numbers2, 2, 5)")
Array.Clear(numbers2, 2, 5)
For i As Integer = 0 To 2
For j As Integer = 0 To 2
Console.Write("{0} ", numbers2(i, j))
Next
Console.WriteLine()
Next
Console.WriteLine(vbLf & "Three dimensions (Rank=3):")
Dim numbers3(,,) As Integer = {{{ 1, 2 }, { 3, 4 }}, _
{{ 5, 6 }, { 7, 8 }}, _
{{ 9, 10 }, { 11, 12 }}}
For i As Integer = 0 To 1
For j As Integer = 0 To 1
For k As Integer = 0 To 1
Console.Write("{0} ", numbers3(i, j, k))
Next
Console.WriteLine()
Next
Console.WriteLine()
Next
Console.WriteLine()
Console.WriteLine("Array.Clear(numbers3, 2, 5)")
Array.Clear(numbers3, 2, 5)
For i As Integer = 0 To 1
For j As Integer = 0 To 1
For k As Integer = 0 To 1
Console.Write("{0} ", numbers3(i, j, k))
Next
Console.WriteLine()
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays 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.
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
open System
[<Struct>]
type TimeZoneTime =
{ DateTime: DateTimeOffset
TimeZone: TimeZoneInfo }
// Declare an array with two elements.
let timeZoneTimes =
[| { DateTime = DateTimeOffset.Now; TimeZone = TimeZoneInfo.Local }
{ DateTime = DateTimeOffset.Now; TimeZone = TimeZoneInfo.Local } |]
for timeZoneTime in timeZoneTimes do
let tz = if isNull timeZoneTime.TimeZone then "<null>" else string timeZoneTime.TimeZone
printfn $"{tz}: {timeZoneTime.DateTime:G}"
printfn ""
Array.Clear(timeZoneTimes, 1, 1)
for timeZoneTime in timeZoneTimes do
let tz = if isNull timeZoneTime.TimeZone then "<null>" else string timeZoneTime.TimeZone
printfn $"{tz}: {timeZoneTime.DateTime:G}"
// 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
Public Structure TimeZoneTime
Private dt As DateTimeOffset
Private tz As TimeZoneInfo
Public Sub New(dateTime As DateTimeOffset, timeZone As TimeZoneInfo)
dt = dateTime
tz = timeZone
End Sub
Public ReadOnly Property DateTime As DateTimeOffset
Get
Return dt
End Get
End Property
Public ReadOnly Property TimeZone As TimeZoneInfo
Get
Return tz
End Get
End Property
End Structure
Module Example
Public Sub Main()
' Declare an array with two elements.
Dim timeZoneTimes() As TimeZoneTime = { New TimeZoneTime(Date.Now, TimeZoneInfo.Local),
New TimeZoneTime(Date.Now, TimeZoneInfo.Utc) }
For Each timeZoneTime In timeZoneTimes
Console.WriteLine("{0}: {1:G}",
If(timeZoneTime.TimeZone Is Nothing, "<null>", timeZoneTime.TimeZone),
timeZoneTime.DateTime)
Next
Console.WriteLine()
Array.Clear(timeZoneTimes, 1, 1)
For Each timeZoneTime In timeZoneTimes
Console.WriteLine("{0}: {1:G}",
If(timeZoneTime.TimeZone Is Nothing, "<null>", timeZoneTime.TimeZone),
timeZoneTime.DateTime)
Next
End Sub
End Module
' The example displays output like the following:
' (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
.