Array.SetValue Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
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.
- 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.