Array.SetValue Método

Definição

Define o elemento especificado na corrente Array para o valor especificado.

Sobrecargas

Name Description
SetValue(Object, Int32)

Define um valor ao elemento na posição especificada na unidimensional Array. O índice é especificado como um inteiro de 32 bits.

SetValue(Object, Int32[])

Define um valor ao elemento na posição especificada no multidimensional Array. Os índices são especificados como um array de inteiros de 32 bits.

SetValue(Object, Int64)

Define um valor ao elemento na posição especificada na unidimensional Array. O índice é especificado como um inteiro de 64 bits.

SetValue(Object, Int64[])

Define um valor ao elemento na posição especificada no multidimensional Array. Os índices são especificados como um array de inteiros de 64 bits.

SetValue(Object, Int32, Int32)

Define um valor ao elemento na posição especificada na bidimensional Array. Os índices são especificados como inteiros de 32 bits.

SetValue(Object, Int64, Int64)

Define um valor ao elemento na posição especificada na bidimensional Array. Os índices são especificados como inteiros de 64 bits.

SetValue(Object, Int32, Int32, Int32)

Define um valor ao elemento na posição especificada na tridimensional Array. Os índices são especificados como inteiros de 32 bits.

SetValue(Object, Int64, Int64, Int64)

Define um valor ao elemento na posição especificada na tridimensional Array. Os índices são especificados como inteiros de 64 bits.

Exemplos

O exemplo de código seguinte demonstra como definir e obter um valor específico num array unidimensional ou multidimensional.

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)

Define um valor ao elemento na posição especificada na unidimensional Array. O índice é especificado como um inteiro de 32 bits.

public:
 void SetValue(System::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

O novo valor para o elemento especificado.

index
Int32

Um inteiro de 32 bits que representa a posição do Array elemento a definir.

Exceções

A corrente Array não tem exatamente uma dimensão.

value não pode ser fundido para o tipo de elemento da corrente Array.

index está fora do intervalo de índices válidos para a atual Array.

Observações

Os GetLowerBound métodos e GetUpperBound podem determinar se o valor de index está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int32[])

Define um valor ao elemento na posição especificada no multidimensional Array. Os índices são especificados como um array de inteiros de 32 bits.

public:
 void SetValue(System::Object ^ value, ... cli::array <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

O novo valor para o elemento especificado.

indices
Int32[]

Um array unidimensional de inteiros de 32 bits que representam os índices que especificam a posição do elemento a definir.

Exceções

indices é null.

O número de dimensões na corrente Array não é igual ao número de elementos em indices.

value não pode ser fundido para o tipo de elemento da corrente Array.

Qualquer elemento em indices está fora do intervalo dos índices válidos para a dimensão correspondente da corrente Array.

Observações

O número de elementos em indices deve ser igual ao número de dimensões no Array. Todos os elementos do indices array devem especificar coletivamente a posição do elemento desejado no multidimensional Array.

Os GetLowerBound métodos e GetUpperBound podem determinar se algum dos valores no indices array está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int64)

Define um valor ao elemento na posição especificada na unidimensional Array. O índice é especificado como um inteiro de 64 bits.

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

Parâmetros

value
Object

O novo valor para o elemento especificado.

index
Int64

Um inteiro de 64 bits que representa a posição do Array elemento a definir.

Atributos

Exceções

A corrente Array não tem exatamente uma dimensão.

value não pode ser fundido para o tipo de elemento da corrente Array.

index está fora do intervalo de índices válidos para a atual Array.

Observações

Os GetLowerBound métodos e GetUpperBound podem determinar se o valor de index está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int64[])

Define um valor ao elemento na posição especificada no multidimensional Array. Os índices são especificados como um array de inteiros de 64 bits.

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

Parâmetros

value
Object

O novo valor para o elemento especificado.

indices
Int64[]

Um array unidimensional de inteiros de 64 bits que representam os índices que especificam a posição do elemento a definir.

Atributos

Exceções

indices é null.

O número de dimensões na corrente Array não é igual ao número de elementos em indices.

value não pode ser fundido para o tipo de elemento da corrente Array.

Qualquer elemento em indices está fora do intervalo dos índices válidos para a dimensão correspondente da corrente Array.

Observações

O número de elementos em indices deve ser igual ao número de dimensões no Array. Todos os elementos do indices array devem especificar coletivamente a posição do elemento desejado no multidimensional Array.

Os GetLowerBound métodos e GetUpperBound podem determinar se algum dos valores no indices array está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int32, Int32)

Define um valor ao elemento na posição especificada na bidimensional Array. Os índices são especificados como inteiros de 32 bits.

public:
 void SetValue(System::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

O novo valor para o elemento especificado.

index1
Int32

Um inteiro de 32 bits que representa o índice de primeira dimensão do Array elemento a definir.

index2
Int32

Um inteiro de 32 bits que representa o índice de segunda dimensão do Array elemento a definir.

Exceções

A corrente Array não tem exatamente duas dimensões.

value não pode ser fundido para o tipo de elemento da corrente Array.

Ou index1index2 está fora do intervalo dos índices válidos para a dimensão correspondente da corrente Array.

Observações

Os GetLowerBound métodos e GetUpperBound podem determinar se algum dos índices está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int64, Int64)

Define um valor ao elemento na posição especificada na bidimensional Array. Os índices são especificados como inteiros de 64 bits.

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

Parâmetros

value
Object

O novo valor para o elemento especificado.

index1
Int64

Um inteiro de 64 bits que representa o índice de primeira dimensão do Array elemento a definir.

index2
Int64

Um inteiro de 64 bits que representa o índice de segunda dimensão do Array elemento a definir.

Atributos

Exceções

A corrente Array não tem exatamente duas dimensões.

value não pode ser fundido para o tipo de elemento da corrente Array.

Ou index1index2 está fora do intervalo dos índices válidos para a dimensão correspondente da corrente Array.

Observações

Os GetLowerBound métodos e GetUpperBound podem determinar se algum dos índices está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int32, Int32, Int32)

Define um valor ao elemento na posição especificada na tridimensional Array. Os índices são especificados como inteiros 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);
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

O novo valor para o elemento especificado.

index1
Int32

Um inteiro de 32 bits que representa o índice de primeira dimensão do Array elemento a definir.

index2
Int32

Um inteiro de 32 bits que representa o índice de segunda dimensão do Array elemento a definir.

index3
Int32

Um inteiro de 32 bits que representa o índice de terceira dimensão do Array elemento a definir.

Exceções

A corrente Array não tem exatamente três dimensões.

value não pode ser fundido para o tipo de elemento da corrente Array.

index1 ou index2 ou index3 está fora do intervalo dos índices válidos para a dimensão correspondente da corrente Array.

Observações

Os GetLowerBound métodos e GetUpperBound podem determinar se algum dos índices está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a

SetValue(Object, Int64, Int64, Int64)

Define um valor ao elemento na posição especificada na tridimensional Array. Os índices são especificados como inteiros de 64 bits.

public:
 void SetValue(System::Object ^ value, long index1, long index2, long index3);
[System.Runtime.InteropServices.ComVisible(false)]
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)>]
member this.SetValue : obj * int64 * int64 * int64 -> unit
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

O novo valor para o elemento especificado.

index1
Int64

Um inteiro de 64 bits que representa o índice de primeira dimensão do Array elemento a definir.

index2
Int64

Um inteiro de 64 bits que representa o índice de segunda dimensão do Array elemento a definir.

index3
Int64

Um inteiro de 64 bits que representa o índice de terceira dimensão do Array elemento a definir.

Atributos

Exceções

A corrente Array não tem exatamente três dimensões.

value não pode ser fundido para o tipo de elemento da corrente Array.

index1 ou index2 ou index3 está fora do intervalo dos índices válidos para a dimensão correspondente da corrente Array.

Observações

Os GetLowerBound métodos e GetUpperBound podem determinar se algum dos índices está fora dos limites.

Para mais informações sobre conversões, consulte Convert.

Este método é uma operação O(1).

Note

Se SetValue for usado para atribuir null a um elemento de um array de tipos de valor, todos os campos do elemento são inicializados a zero. O valor do elemento não é uma referência nula, e não pode ser encontrado procurando uma referência nula.

Ver também

Aplica-se a