Lire en anglais

Partager via


ArraySegment<T> Constructeurs

Définition

Initialise une nouvelle instance de la structure ArraySegment<T>.

Surcharges

ArraySegment<T>(T[])

Initialise une nouvelle instance de la structure ArraySegment<T> qui délimite tous les éléments dans le tableau spécifié.

ArraySegment<T>(T[], Int32, Int32)

Initialise une nouvelle instance de la structure ArraySegment<T> qui délimite la plage spécifiée d'éléments dans le tableau spécifié.

Exemples

L’exemple de code suivant passe une ArraySegment<T> structure à une méthode.

C#
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

*/

ArraySegment<T>(T[])

Source:
ArraySegment.cs
Source:
ArraySegment.cs
Source:
ArraySegment.cs

Initialise une nouvelle instance de la structure ArraySegment<T> qui délimite tous les éléments dans le tableau spécifié.

C#
public ArraySegment (T[] array);

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 est ArraySegment<T> 0 et sa Count propriété est la longueur de array. Pour créer un ArraySegment<T> 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 une 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 à

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

ArraySegment<T>(T[], Int32, Int32)

Source:
ArraySegment.cs
Source:
ArraySegment.cs
Source:
ArraySegment.cs

Initialise une nouvelle instance de la structure ArraySegment<T> qui délimite la plage spécifiée d'éléments dans le tableau spécifié.

C#
public ArraySegment (T[] array, int offset, int count);

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écifient pas une plage valide dans array.

Remarques

Le tableau d’origine doit être unidimensionnel et doit avoir une 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 à

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