ArraySegment<T> Constructeurs
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.
Initialise une nouvelle instance de la ArraySegment<T> structure.
Surcharges
| Nom | Description |
|---|---|
| ArraySegment<T>(T[]) |
Initialise une nouvelle instance de la ArraySegment<T> structure qui délimite tous les éléments du tableau spécifié. |
| ArraySegment<T>(T[], Int32, Int32) |
Initialise une nouvelle instance de la ArraySegment<T> structure qui délimite la plage spécifiée des éléments dans le tableau spécifié. |
Exemples
L’exemple de code suivant transmet une ArraySegment<T> structure à une méthode.
using System;
public class SamplesArray {
public static void Main() {
// Create and initialize a new string array.
String[] myArr = { "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" };
// Display the initial contents of the array.
Console.WriteLine( "The original array initially contains:" );
PrintIndexAndValues( myArr );
// Define an array segment that contains the entire array.
ArraySegment<string> myArrSegAll = new ArraySegment<string>( myArr );
// Display the contents of the ArraySegment.
Console.WriteLine( "The first array segment (with all the array's elements) contains:" );
PrintIndexAndValues( myArrSegAll );
// Define an array segment that contains the middle five values of the array.
ArraySegment<string> myArrSegMid = new ArraySegment<string>( myArr, 2, 5 );
// Display the contents of the ArraySegment.
Console.WriteLine( "The second array segment (with the middle five elements) contains:" );
PrintIndexAndValues( myArrSegMid );
// Modify the fourth element of the first array segment myArrSegAll.
myArrSegAll.Array[3] = "LION";
// Display the contents of the second array segment myArrSegMid.
// Note that the value of its second element also changed.
Console.WriteLine( "After the first array segment is modified, the second array segment now contains:" );
PrintIndexAndValues( myArrSegMid );
}
public static void PrintIndexAndValues( ArraySegment<string> arrSeg ) {
for ( int i = arrSeg.Offset; i < (arrSeg.Offset + arrSeg.Count); i++ ) {
Console.WriteLine( " [{0}] : {1}", i, arrSeg.Array[i] );
}
Console.WriteLine();
}
public static void PrintIndexAndValues( String[] myArr ) {
for ( int i = 0; i < myArr.Length; i++ ) {
Console.WriteLine( " [{0}] : {1}", i, myArr[i] );
}
Console.WriteLine();
}
}
/*
This code produces the following output.
The original array initially contains:
[0] : The
[1] : quick
[2] : brown
[3] : fox
[4] : jumps
[5] : over
[6] : the
[7] : lazy
[8] : dog
The first array segment (with all the array's elements) contains:
[0] : The
[1] : quick
[2] : brown
[3] : fox
[4] : jumps
[5] : over
[6] : the
[7] : lazy
[8] : dog
The second array segment (with the middle five elements) contains:
[2] : brown
[3] : fox
[4] : jumps
[5] : over
[6] : the
After the first array segment is modified, the second array segment now contains:
[2] : brown
[3] : LION
[4] : jumps
[5] : over
[6] : the
*/
open System
// Print functions.
let printIndexAndValues (myArr: string []) =
for i = 0 to myArr.Length - 1 do
printfn $" [{i}] : {myArr[i]}"
printfn ""
let printIndexAndValuesSeg (arrSeg: ArraySegment<string>) =
for i = arrSeg.Offset to arrSeg.Offset + arrSeg.Count - 1 do
printfn $" [{i}] : {arrSeg.Array[i]}"
printfn ""
// Create and initialize a new string array.
let myArr = [| "The"; "quick"; "brown"; "fox"; "jumps"; "over"; "the"; "lazy"; "dog" |]
// Display the initial contents of the array.
printfn "The original array initially contains:"
printIndexAndValues myArr
// Define an array segment that contains the entire array.
let myArrSegAll = ArraySegment<string>(myArr)
// Display the contents of the ArraySegment.
printfn "The first array segment (with all the array's elements) contains:"
printIndexAndValuesSeg myArrSegAll
// Define an array segment that contains the middle five values of the array.
let myArrSegMid = ArraySegment<string>(myArr, 2, 5)
// Display the contents of the ArraySegment.
printfn "The second array segment (with the middle five elements) contains:"
printIndexAndValuesSeg myArrSegMid
// Modify the fourth element of the first array segment myArrSegAll.
myArrSegAll.Array[3] <- "LION"
// Display the contents of the second array segment myArrSegMid.
// Note that the value of its second element also changed.
printfn "After the first array segment is modified, the second array segment now contains:"
printIndexAndValuesSeg myArrSegMid
(*
This code produces the following output.
The original array initially contains:
[0] : The
[1] : quick
[2] : brown
[3] : fox
[4] : jumps
[5] : over
[6] : the
[7] : lazy
[8] : dog
The first array segment (with all the array's elements) contains:
[0] : The
[1] : quick
[2] : brown
[3] : fox
[4] : jumps
[5] : over
[6] : the
[7] : lazy
[8] : dog
The second array segment (with the middle five elements) contains:
[2] : brown
[3] : fox
[4] : jumps
[5] : over
[6] : the
After the first array segment is modified, the second array segment now contains:
[2] : brown
[3] : LION
[4] : jumps
[5] : over
[6] : the
*)
Public Class SamplesArray
Public Shared Sub Main()
' Create and initialize a new string array.
Dim myArr As String() = {"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}
' Display the initial contents of the array.
Console.WriteLine("The original array initially contains:")
PrintIndexAndValues(myArr)
' Define an array segment that contains the entire array.
Dim myArrSegAll As New ArraySegment(Of String)(myArr)
' Display the contents of the ArraySegment.
Console.WriteLine("The first array segment (with all the array's elements) contains:")
PrintIndexAndValues(myArrSegAll)
' Define an array segment that contains the middle five values of the array.
Dim myArrSegMid As New ArraySegment(Of String)(myArr, 2, 5)
' Display the contents of the ArraySegment.
Console.WriteLine("The second array segment (with the middle five elements) contains:")
PrintIndexAndValues(myArrSegMid)
' Modify the fourth element of the first array segment myArrSegAll.
myArrSegAll.Array(3) = "LION"
' Display the contents of the second array segment myArrSegMid.
' Note that the value of its second element also changed.
Console.WriteLine("After the first array segment is modified, the second array segment now contains:")
PrintIndexAndValues(myArrSegMid)
End Sub
Public Shared Sub PrintIndexAndValues(arrSeg As ArraySegment(Of String))
Dim i As Integer
For i = arrSeg.Offset To (arrSeg.Offset + arrSeg.Count - 1)
Console.WriteLine(" [{0}] : {1}", i, arrSeg.Array(i))
Next i
Console.WriteLine()
End Sub
Public Shared Sub PrintIndexAndValues(myArr as String())
Dim i As Integer
For i = 0 To (myArr.Length - 1)
Console.WriteLine(" [{0}] : {1}", i, myArr(i))
Next i
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'The original array initially contains:
' [0] : The
' [1] : quick
' [2] : brown
' [3] : fox
' [4] : jumps
' [5] : over
' [6] : the
' [7] : lazy
' [8] : dog
'
'The first array segment (with all the array's elements) contains:
' [0] : The
' [1] : quick
' [2] : brown
' [3] : fox
' [4] : jumps
' [5] : over
' [6] : the
' [7] : lazy
' [8] : dog
'
'The second array segment (with the middle five elements) contains:
' [2] : brown
' [3] : fox
' [4] : jumps
' [5] : over
' [6] : the
'
'After the first array segment is modified, the second array segment now contains:
' [2] : brown
' [3] : LION
' [4] : jumps
' [5] : over
' [6] : the
ArraySegment<T>(T[])
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
Initialise une nouvelle instance de la ArraySegment<T> structure qui délimite tous les éléments du tableau spécifié.
public:
ArraySegment(cli::array <T> ^ array);
public ArraySegment(T[] array);
new ArraySegment<'T> : 'T[] -> ArraySegment<'T>
Public Sub New (array As T())
Paramètres
- array
- T[]
Tableau à encapsuler.
Exceptions
array a la valeur null.
Remarques
Ce constructeur crée un ArraySegment<T> qui délimite tous les éléments de array. Autrement dit, la Offset propriété de la ArraySegment<T> propriété est 0 et sa Count propriété est la longueur de array. Pour créer un ArraySegment<T> élément qui délimite uniquement une partie d’un tableau, utilisez le ArraySegment<T>(T[], Int32, Int32) constructeur.
Le tableau d’origine doit être unidimensionnel et doit avoir l’indexation de base zéro.
Plusieurs ArraySegment<T> instances peuvent faire référence au même tableau d’origine et peuvent se chevaucher.
Voir aussi
S’applique à
ArraySegment<T>(T[], Int32, Int32)
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
- Source:
- ArraySegment.cs
Initialise une nouvelle instance de la ArraySegment<T> structure qui délimite la plage spécifiée des éléments dans le tableau spécifié.
public:
ArraySegment(cli::array <T> ^ array, int offset, int count);
public ArraySegment(T[] array, int offset, int count);
new ArraySegment<'T> : 'T[] * int * int -> ArraySegment<'T>
Public Sub New (array As T(), offset As Integer, count As Integer)
Paramètres
- array
- T[]
Tableau contenant la plage d’éléments à délimiter.
- offset
- Int32
Index de base zéro du premier élément de la plage.
- count
- Int32
Nombre d’éléments dans la plage.
Exceptions
array a la valeur null.
offset ou count est inférieur à 0.
offset et count ne spécifiez pas de plage valide en array.
Remarques
Le tableau d’origine doit être unidimensionnel et doit avoir l’indexation de base zéro.
Plusieurs ArraySegment<T> instances peuvent faire référence au même tableau d’origine et peuvent se chevaucher.