Array.SetValue Método

Definición

Establece el elemento especificado del Array actual en el valor especificado.

Sobrecargas

SetValue(Object, Int32)

Establece un valor en el elemento situado en la posición especificada de una matriz Array unidimensional. El índice se especifica como un entero de 32 bits.

SetValue(Object, Int32[])

Establece un valor en el elemento situado en la posición especificada de una matriz Array multidimensional. Los índices se especifican en forma de una matriz de enteros de 32 bits.

SetValue(Object, Int64[])

Establece un valor en el elemento situado en la posición especificada de una matriz Array multidimensional. Los índices se especifican como matriz de enteros de 64 bits.

SetValue(Object, Int32, Int32)

Establece un valor en el elemento situado en la posición especificada de la Array bidimensional. Los índices se especifican como enteros de 32 bits.

SetValue(Object, Int64, Int64)

Establece un valor en el elemento situado en la posición especificada de la Array bidimensional. Los índices se especifican como enteros de 64 bits.

SetValue(Object, Int32, Int32, Int32)

Establece un valor en el elemento situado en la posición especificada de la Array tridimensional. Los índices se especifican como enteros de 32 bits.

SetValue(Object, Int64, Int64, Int64)

Establece un valor en el elemento situado en la posición especificada de la Array tridimensional. Los índices se especifican como enteros de 64 bits.

SetValue(Object, Int64)

Establece un valor en el elemento situado en la posición especificada de una matriz Array unidimensional. El índice se especifica como un entero de 64 bits.

Ejemplos

En el ejemplo de código siguiente se muestra cómo establecer y obtener un valor específico en una matriz unidimensional o multidimensional.

using namespace System;
int main()
{
   
   // Creates and initializes a one-dimensional array.
   array<String^>^myArr1 = gcnew array<String^>(5);
   
   // Sets the element at index 3.
   myArr1->SetValue( "three", 3 );
   Console::WriteLine( "[3]:   {0}", myArr1->GetValue( 3 ) );
   
   // Creates and initializes a two-dimensional array.
   array<String^, 2>^myArr2 = gcnew array<String^,2>(5,5);
   
   // Sets the element at index 1,3.
   myArr2->SetValue( "one-three", 1, 3 );
   Console::WriteLine( "[1,3]:   {0}", myArr2->GetValue( 1, 3 ) );
   
   // Creates and initializes a three-dimensional array.
   array<String^, 3>^myArr3 = gcnew array<String^,3>(5,5,5);
   
   // Sets the element at index 1,2,3.
   myArr3->SetValue( "one-two-three", 1, 2, 3 );
   Console::WriteLine( "[1,2,3]:   {0}", myArr3->GetValue( 1, 2, 3 ) );
   
   // Creates and initializes a seven-dimensional array.
   array<String^, 7>^myArr7 = gcnew array<String^,7>(5,5,5,5,5,5,5);
   
   // Sets the element at index 1,2,3,0,1,2,3.
   array<Int32>^myIndices = {1,2,3,0,1,2,3};
   myArr7->SetValue( "one-two-three-zero-one-two-three", myIndices );
   Console::WriteLine( "[1,2,3,0,1,2,3]:   {0}", myArr7->GetValue( myIndices ) );
}

/* 
This code produces the following output.

[3]:   three
[1,3]:   one-three
[1,2,3]:   one-two-three
[1,2,3,0,1,2,3]:   one-two-three-zero-one-two-three

*/
using System;

public class SamplesArray  {

   public static void Main()  {

      // Creates and initializes a one-dimensional array.
      String[] myArr1 = new String[5];

      // Sets the element at index 3.
      myArr1.SetValue( "three", 3 );
      Console.WriteLine( "[3]:   {0}", myArr1.GetValue( 3 ) );

      // Creates and initializes a two-dimensional array.
      String[,] myArr2 = new String[5,5];

      // Sets the element at index 1,3.
      myArr2.SetValue( "one-three", 1, 3 );
      Console.WriteLine( "[1,3]:   {0}", myArr2.GetValue( 1, 3 ) );

      // Creates and initializes a three-dimensional array.
      String[,,] myArr3 = new String[5,5,5];

      // Sets the element at index 1,2,3.
      myArr3.SetValue( "one-two-three", 1, 2, 3 );
      Console.WriteLine( "[1,2,3]:   {0}", myArr3.GetValue( 1, 2, 3 ) );

      // Creates and initializes a seven-dimensional array.
      String[,,,,,,] myArr7 = new String[5,5,5,5,5,5,5];

      // Sets the element at index 1,2,3,0,1,2,3.
      int[] myIndices = new int[7] { 1, 2, 3, 0, 1, 2, 3 };
      myArr7.SetValue( "one-two-three-zero-one-two-three", myIndices );
      Console.WriteLine( "[1,2,3,0,1,2,3]:   {0}", myArr7.GetValue( myIndices ) );
   }
}


/*
This code produces the following output.

[3]:   three
[1,3]:   one-three
[1,2,3]:   one-two-three
[1,2,3,0,1,2,3]:   one-two-three-zero-one-two-three

*/
open System

// Creates and initializes a one-dimensional array.
let myArr1 = Array.zeroCreate<string> 5

// Sets the element at index 3.
myArr1.SetValue("three", 3)
printfn $"[3]:   {myArr1.GetValue 3}"

// Creates and initializes a two-dimensional array.
let myArr2 = Array2D.zeroCreate<string> 5 5

// Sets the element at index 1,3.
myArr2.SetValue("one-three", 1, 3)
printfn $"[1,3]:   {myArr2.GetValue(1, 3)}"

// Creates and initializes a three-dimensional array.
let myArr3 = Array3D.zeroCreate<string> 5 5 5

// Sets the element at index 1,2,3.
myArr3.SetValue("one-two-three", 1, 2, 3)
printfn $"[1,2,3]:   {myArr3.GetValue(1, 2, 3)}"

// Creates and initializes a seven-dimensional array.
let myArr7 = Array.CreateInstance(typeof<string>, 5, 5, 5, 5, 5, 5, 5)

// Sets the element at index 1,2,3,0,1,2,3.
let myIndices = [| 1; 2; 3; 0; 1; 2; 3 |]
myArr7.SetValue("one-two-three-zero-one-two-three", myIndices)
printfn $"[1,2,3,0,1,2,3]:   {myArr7.GetValue myIndices}"


// This code produces the following output.
//     [3]:   three
//     [1,3]:   one-three
//     [1,2,3]:   one-two-three
//     [1,2,3,0,1,2,3]:   one-two-three-zero-one-two-three
Public Class SamplesArray

   Public Shared Sub Main()

      ' Creates and initializes a one-dimensional array.
      Dim myArr1(4) As [String]

      ' Sets the element at index 3.
      myArr1.SetValue("three", 3)
      Console.WriteLine("[3]:   {0}", myArr1.GetValue(3))


      ' Creates and initializes a two-dimensional array.
      Dim myArr2(5, 5) As [String]

      ' Sets the element at index 1,3.
      myArr2.SetValue("one-three", 1, 3)
      Console.WriteLine("[1,3]:   {0}", myArr2.GetValue(1, 3))


      ' Creates and initializes a three-dimensional array.
      Dim myArr3(5, 5, 5) As [String]

      ' Sets the element at index 1,2,3.
      myArr3.SetValue("one-two-three", 1, 2, 3)
      Console.WriteLine("[1,2,3]:   {0}", myArr3.GetValue(1, 2, 3))


      ' Creates and initializes a seven-dimensional array.
      Dim myArr7(5, 5, 5, 5, 5, 5, 5) As [String]

      ' Sets the element at index 1,2,3,0,1,2,3.
      Dim myIndices() As Integer = {1, 2, 3, 0, 1, 2, 3}
      myArr7.SetValue("one-two-three-zero-one-two-three", myIndices)
      Console.WriteLine("[1,2,3,0,1,2,3]:   {0}", myArr7.GetValue(myIndices))

   End Sub

End Class


'This code produces the following output.
'
'[3]:   three
'[1,3]:   one-three
'[1,2,3]:   one-two-three
'[1,2,3,0,1,2,3]:   one-two-three-zero-one-two-three

SetValue(Object, Int32)

Establece un valor en el elemento situado en la posición especificada de una matriz Array unidimensional. El índice se especifica como un entero de 32 bits.

public:
 void SetValue(System::Object ^ value, int index);
public void SetValue (object value, int index);
public void SetValue (object? value, int index);
member this.SetValue : obj * int -> unit
Public Sub SetValue (value As Object, index As Integer)

Parámetros

value
Object

Nuevo valor para el elemento especificado.

index
Int32

Entero de 32 bits que representa la posición del elemento Array que se va a establecer.

Excepciones

El Array actual no tiene exactamente una dimensión.

value no se puede convertir al tipo de elemento del Array actual.

index está fuera del intervalo de índices válidos para el Array actual.

Comentarios

Los GetLowerBound métodos y GetUpperBound pueden determinar si el valor de index está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int32[])

Establece un valor en el elemento situado en la posición especificada de una matriz Array multidimensional. Los índices se especifican en forma de una matriz de enteros de 32 bits.

public:
 void SetValue(System::Object ^ value, ... cli::array <int> ^ indices);
public void SetValue (object value, params int[] indices);
public void SetValue (object? value, params int[] indices);
member this.SetValue : obj * int[] -> unit
Public Sub SetValue (value As Object, ParamArray indices As Integer())

Parámetros

value
Object

Nuevo valor para el elemento especificado.

indices
Int32[]

Matriz unidimensional de enteros de 32 bits que representan los índices que especifican la posición del elemento que se va a establecer.

Excepciones

indices es null.

El número de dimensiones de la Array actual no es igual al número de elementos de indices.

value no se puede convertir al tipo de elemento del Array actual.

Cualquier elemento de indices está fuera del intervalo de índices válidos para la dimensión correspondiente de la Array actual.

Comentarios

El número de elementos de indices debe ser igual al número de dimensiones de .Array Todos los elementos de la indices matriz deben especificar colectivamente la posición del elemento deseado en el elemento multidimensional Array.

Los GetLowerBound métodos y GetUpperBound pueden determinar si alguno de los valores de la indices matriz está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int64[])

Establece un valor en el elemento situado en la posición especificada de una matriz Array multidimensional. Los índices se especifican como matriz de enteros de 64 bits.

public:
 void SetValue(System::Object ^ value, ... cli::array <long> ^ indices);
public void SetValue (object? value, params long[] indices);
public void SetValue (object value, params long[] indices);
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue (object value, params long[] indices);
member this.SetValue : obj * int64[] -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.SetValue : obj * int64[] -> unit
Public Sub SetValue (value As Object, ParamArray indices As Long())

Parámetros

value
Object

Nuevo valor para el elemento especificado.

indices
Int64[]

Matriz unidimensional de enteros de 64 bits que representan los índices que especifican la posición del elemento que se va a establecer.

Atributos

Excepciones

indices es null.

El número de dimensiones de la Array actual no es igual al número de elementos de indices.

value no se puede convertir al tipo de elemento del Array actual.

Cualquier elemento de indices está fuera del intervalo de índices válidos para la dimensión correspondiente de la Array actual.

Comentarios

El número de elementos de indices debe ser igual al número de dimensiones de .Array Todos los elementos de la indices matriz deben especificar colectivamente la posición del elemento deseado en el elemento multidimensional Array.

Los GetLowerBound métodos y GetUpperBound pueden determinar si alguno de los valores de la indices matriz está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int32, Int32)

Establece un valor en el elemento situado en la posición especificada de la Array bidimensional. Los índices se especifican como enteros de 32 bits.

public:
 void SetValue(System::Object ^ value, int index1, int index2);
public void SetValue (object? value, int index1, int index2);
public void SetValue (object value, int index1, int index2);
member this.SetValue : obj * int * int -> unit
Public Sub SetValue (value As Object, index1 As Integer, index2 As Integer)

Parámetros

value
Object

Nuevo valor para el elemento especificado.

index1
Int32

Entero de 32 bits que representa el índice de la primera dimensión del elemento Array que se va a establecer.

index2
Int32

Entero de 32 bits que representa el índice de la segunda dimensión del elemento Array que se va a establecer.

Excepciones

El Array actual no tiene exactamente dos dimensiones.

value no se puede convertir al tipo de elemento del Array actual.

index1 o index2 está fuera del intervalo de índices válidos para la dimensión correspondiente de la Array actual.

Comentarios

Los GetLowerBound métodos y GetUpperBound pueden determinar si alguno de los índices está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int64, Int64)

Establece un valor en el elemento situado en la posición especificada de la Array bidimensional. Los índices se especifican como enteros de 64 bits.

public:
 void SetValue(System::Object ^ value, long index1, long index2);
public void SetValue (object? value, long index1, long index2);
public void SetValue (object value, long index1, long index2);
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue (object value, long index1, long index2);
member this.SetValue : obj * int64 * int64 -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.SetValue : obj * int64 * int64 -> unit
Public Sub SetValue (value As Object, index1 As Long, index2 As Long)

Parámetros

value
Object

Nuevo valor para el elemento especificado.

index1
Int64

Entero de 64 bits que representa el índice de la primera dimensión del elemento Array que se va a establecer.

index2
Int64

Entero de 64 bits que representa el índice de la segunda dimensión del elemento Array que se va a establecer.

Atributos

Excepciones

El Array actual no tiene exactamente dos dimensiones.

value no se puede convertir al tipo de elemento del Array actual.

index1 o index2 está fuera del intervalo de índices válidos para la dimensión correspondiente de la Array actual.

Comentarios

Los GetLowerBound métodos y GetUpperBound pueden determinar si alguno de los índices está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int32, Int32, Int32)

Establece un valor en el elemento situado en la posición especificada de la Array tridimensional. Los índices se especifican como enteros de 32 bits.

public:
 void SetValue(System::Object ^ value, int index1, int index2, int index3);
public void SetValue (object? value, int index1, int index2, int index3);
public void SetValue (object value, int index1, int index2, int index3);
member this.SetValue : obj * int * int * int -> unit
Public Sub SetValue (value As Object, index1 As Integer, index2 As Integer, index3 As Integer)

Parámetros

value
Object

Nuevo valor para el elemento especificado.

index1
Int32

Entero de 32 bits que representa el índice de la primera dimensión del elemento Array que se va a establecer.

index2
Int32

Entero de 32 bits que representa el índice de la segunda dimensión del elemento Array que se va a establecer.

index3
Int32

Entero de 32 bits que representa el índice de la tercera dimensión del elemento Array que se va a establecer.

Excepciones

El Array actual no tiene exactamente tres dimensiones.

value no se puede convertir al tipo de elemento del Array actual.

index1, index2 o index3 está fuera del intervalo de índices válidos para la dimensión correspondiente del Array actual.

Comentarios

Los GetLowerBound métodos y GetUpperBound pueden determinar si alguno de los índices está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int64, Int64, Int64)

Establece un valor en el elemento situado en la posición especificada de la Array tridimensional. Los índices se especifican como enteros de 64 bits.

public:
 void SetValue(System::Object ^ value, long index1, long index2, long index3);
public void SetValue (object? value, long index1, long index2, long index3);
public void SetValue (object value, long index1, long index2, long index3);
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue (object value, long index1, long index2, long index3);
member this.SetValue : obj * int64 * int64 * int64 -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.SetValue : obj * int64 * int64 * int64 -> unit
Public Sub SetValue (value As Object, index1 As Long, index2 As Long, index3 As Long)

Parámetros

value
Object

Nuevo valor para el elemento especificado.

index1
Int64

Entero de 64 bits que representa el índice de la primera dimensión del elemento Array que se va a establecer.

index2
Int64

Entero de 64 bits que representa el índice de la segunda dimensión del elemento Array que se va a establecer.

index3
Int64

Entero de 64 bits que representa el índice de la tercera dimensión del elemento Array que se va a establecer.

Atributos

Excepciones

El Array actual no tiene exactamente tres dimensiones.

value no se puede convertir al tipo de elemento del Array actual.

index1, index2 o index3 está fuera del intervalo de índices válidos para la dimensión correspondiente del Array actual.

Comentarios

Los GetLowerBound métodos y GetUpperBound pueden determinar si alguno de los índices está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a

SetValue(Object, Int64)

Establece un valor en el elemento situado en la posición especificada de una matriz Array unidimensional. El índice se especifica como un entero de 64 bits.

public:
 void SetValue(System::Object ^ value, long index);
public void SetValue (object? value, long index);
public void SetValue (object value, long index);
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue (object value, long index);
member this.SetValue : obj * int64 -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.SetValue : obj * int64 -> unit
Public Sub SetValue (value As Object, index As Long)

Parámetros

value
Object

Nuevo valor para el elemento especificado.

index
Int64

Entero de 64 bits que representa la posición del elemento Array que se va a establecer.

Atributos

Excepciones

El Array actual no tiene exactamente una dimensión.

value no se puede convertir al tipo de elemento del Array actual.

index está fuera del intervalo de índices válidos para el Array actual.

Comentarios

Los GetLowerBound métodos y GetUpperBound pueden determinar si el valor de index está fuera de los límites.

Para obtener más información sobre las conversiones, vea Convert.

Este método es una operación O(1).

Nota

Si SetValue se usa para asignar null a un elemento de una matriz de tipos de valor, todos los campos del elemento se inicializan en cero. El valor del elemento no es una referencia nula y no se encuentra buscando una referencia nula.

Consulte también

Se aplica a