Leer en inglés

Compartir a través de


ArraySegment<T> Constructores

Definición

Inicializa una nueva instancia de la estructura ArraySegment<T>.

Sobrecargas

ArraySegment<T>(T[])

Inicializa una nueva instancia de la estructura ArraySegment<T> que delimita todos los elementos de la matriz especificada.

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

Inicializa una nueva instancia de la estructura ArraySegment<T> que delimita el intervalo de elementos establecido en la matriz especificada.

Ejemplos

En el ejemplo de código siguiente se pasa una ArraySegment<T> estructura a un método .

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

Inicializa una nueva instancia de la estructura ArraySegment<T> que delimita todos los elementos de la matriz especificada.

C#
public ArraySegment (T[] array);

Parámetros

array
T[]

Matriz que se va a ajustar.

Excepciones

array es null.

Comentarios

Este constructor crea un ArraySegment<T> objeto que delimita todos los elementos de array. Es decir, la Offset propiedad de ArraySegment<T> es 0 y su Count propiedad es la longitud de array. Para crear un ArraySegment<T> que delimite solo parte de una matriz, use el ArraySegment<T>(T[], Int32, Int32) constructor .

La matriz original debe ser unidimensional y debe tener una indexación basada en cero.

Varias ArraySegment<T> instancias pueden hacer referencia a la misma matriz original y pueden superponerse.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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

Inicializa una nueva instancia de la estructura ArraySegment<T> que delimita el intervalo de elementos establecido en la matriz especificada.

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

Parámetros

array
T[]

Matriz que contiene el intervalo de elementos que se va a delimitar.

offset
Int32

Índice de base cero del primer elemento del intervalo.

count
Int32

Número de elementos del intervalo.

Excepciones

array es null.

offset o count es menor que 0.

offset y count no especifican un intervalo válido en array.

Comentarios

La matriz original debe ser unidimensional y debe tener una indexación basada en cero.

Varias ArraySegment<T> instancias pueden hacer referencia a la misma matriz original y pueden superponerse.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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