Поделиться через


Array.SetValue Метод

Определение

Присваивает заданному элементу текущего массива Array заданное значение.

Перегрузки

SetValue(Object, Int32)

Присваивает значение элементу, находящемуся в указанной позиции одномерного массива Array. Индекс задается как 32-битовое целое число.

SetValue(Object, Int32[])

Присваивает значение элементу, находящемуся в указанной позиции многомерного массива Array. Индексы задаются как массив 32-битовых целых чисел.

SetValue(Object, Int64[])

Присваивает значение элементу, находящемуся в указанной позиции многомерного массива Array. Индексы задаются как массив 64-битовых целых чисел.

SetValue(Object, Int32, Int32)

Присваивает значение элементу, находящемуся в указанной позиции двухмерного массива Array. Индексы задаются в виде 32-битовых целых чисел.

SetValue(Object, Int64, Int64)

Присваивает значение элементу, находящемуся в указанной позиции двухмерного массива Array. Индексы задаются в виде 64-битовых целых чисел.

SetValue(Object, Int32, Int32, Int32)

Присваивает значение элементу, находящемуся в указанной позиции трехмерного массива Array. Индексы задаются в виде 32-битовых целых чисел.

SetValue(Object, Int64, Int64, Int64)

Присваивает значение элементу, находящемуся в указанной позиции трехмерного массива Array. Индексы задаются в виде 64-битовых целых чисел.

SetValue(Object, Int64)

Присваивает значение элементу, находящемуся в указанной позиции одномерного массива Array. Индекс задается как 64-битовое целое число.

Примеры

В следующем примере кода показано, как задать и получить определенное значение в одномерном или многомерном массиве.

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)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции одномерного массива Array. Индекс задается как 32-битовое целое число.

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)

Параметры

value
Object

Новое значение указанного элемента.

index
Int32

32-разрядное целое число, представляющее позицию элемента в массиве Array, для которого требуется установить значение.

Исключения

Текущий массив Array не имеет ровно одного измерения.

value не может быть приведен к типу элемента текущего массива Array.

index находится вне диапазона допустимых индексов для текущего массива Array.

Комментарии

Методы GetLowerBound и GetUpperBound могут определить, выходит ли значение index за пределы.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулем. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int32[])

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции многомерного массива Array. Индексы задаются как массив 32-битовых целых чисел.

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())

Параметры

value
Object

Новое значение указанного элемента.

indices
Int32[]

Одномерный массив 32-битовых целых чисел, представляющий индексы, которые задают позицию задаваемого элемента в массиве.

Исключения

indices имеет значение null.

Число измерений в текущем массиве Array не равно числу элементов в indices.

value не может быть приведен к типу элемента текущего массива Array.

Любой элемент в indices находится вне диапазона допустимых индексов для соответствующего измерения текущего массива Array.

Комментарии

Число элементов в indices должно равняться количеству измерений в Array. Все элементы в массиве indices должны в совокупности указывать положение нужного элемента в многомерном Arrayобъекте .

Методы GetLowerBound и GetUpperBound могут определить, находится ли любое из значений в массиве indices вне границ.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулем. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int64[])

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции многомерного массива Array. Индексы задаются как массив 64-битовых целых чисел.

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())

Параметры

value
Object

Новое значение указанного элемента.

indices
Int64[]

Одномерный массив 64-разрядных целых чисел, представляющий индексы, которые указывают позицию задаваемого элемента в массиве.

Атрибуты

Исключения

indices имеет значение null.

Число измерений в текущем массиве Array не равно числу элементов в indices.

value не может быть приведен к типу элемента текущего массива Array.

Любой элемент в indices находится вне диапазона допустимых индексов для соответствующего измерения текущего массива Array.

Комментарии

Число элементов в indices должно равняться количеству измерений в Array. Все элементы в массиве indices должны в совокупности указывать положение нужного элемента в многомерном Arrayобъекте .

Методы GetLowerBound и GetUpperBound могут определить, находится ли любое из значений в массиве indices вне границ.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулем. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int32, Int32)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции двухмерного массива Array. Индексы задаются в виде 32-битовых целых чисел.

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)

Параметры

value
Object

Новое значение указанного элемента.

index1
Int32

32-разрядное целое число, представляющее индекс задаваемого элемента в первом измерении массива Array.

index2
Int32

32-разрядное целое число, представляющее индекс задаваемого элемента во втором измерении массива Array.

Исключения

Текущий массив Array не имеет ровно два измерения.

value не может быть приведен к типу элемента текущего массива Array.

index1 или index2 находится вне диапазона допустимых индексов для соответствующего измерения текущего массива Array.

Комментарии

GetLowerBound Методы и GetUpperBound могут определить, выходит ли какой-либо из индексов за пределы границ.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулем. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int64, Int64)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции двухмерного массива Array. Индексы задаются в виде 64-битовых целых чисел.

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)

Параметры

value
Object

Новое значение указанного элемента.

index1
Int64

64-разрядное целое число, представляющее индекс задаваемого элемента в первом измерении массива Array.

index2
Int64

64-разрядное целое число, представляющее индекс задаваемого элемента во втором измерении массива Array.

Атрибуты

Исключения

Текущий массив Array не имеет ровно два измерения.

value не может быть приведен к типу элемента текущего массива Array.

index1 или index2 находится вне диапазона допустимых индексов для соответствующего измерения текущего массива Array.

Комментарии

Методы GetLowerBound и GetUpperBound могут определить, выходит ли какой-либо из индексов за пределы границ.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулевым значением. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int32, Int32, Int32)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции трехмерного массива Array. Индексы задаются в виде 32-битовых целых чисел.

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)

Параметры

value
Object

Новое значение указанного элемента.

index1
Int32

32-разрядное целое число, представляющее индекс задаваемого элемента в первом измерении массива Array.

index2
Int32

32-разрядное целое число, представляющее индекс задаваемого элемента во втором измерении массива Array.

index3
Int32

32-разрядное целое число, представляющее индекс задаваемого элемента в третьем измерении массива Array.

Исключения

Текущий массив Array не имеет ровно трех измерений.

value не может быть приведен к типу элемента текущего массива Array.

index1, index2 или index3 находится вне диапазона допустимых индексов для соответствующего измерения текущего массива Array.

Комментарии

Методы GetLowerBound и GetUpperBound могут определить, выходит ли какой-либо из индексов за пределы границ.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулевым значением. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int64, Int64, Int64)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции трехмерного массива Array. Индексы задаются в виде 64-битовых целых чисел.

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)

Параметры

value
Object

Новое значение указанного элемента.

index1
Int64

64-разрядное целое число, представляющее индекс задаваемого элемента в первом измерении массива Array.

index2
Int64

64-разрядное целое число, представляющее индекс задаваемого элемента во втором измерении массива Array.

index3
Int64

64-разрядное целое число, представляющее индекс задаваемого элемента в третьем измерении массива Array.

Атрибуты

Исключения

Текущий массив Array не имеет ровно трех измерений.

value не может быть приведен к типу элемента текущего массива Array.

index1, index2 или index3 находится вне диапазона допустимых индексов для соответствующего измерения текущего массива Array.

Комментарии

Методы GetLowerBound и GetUpperBound могут определить, выходит ли какой-либо из индексов за пределы границ.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулевым значением. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к

SetValue(Object, Int64)

Исходный код:
Array.cs
Исходный код:
Array.cs
Исходный код:
Array.cs

Присваивает значение элементу, находящемуся в указанной позиции одномерного массива Array. Индекс задается как 64-битовое целое число.

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)

Параметры

value
Object

Новое значение указанного элемента.

index
Int64

64-разрядное целое число, представляющее позицию элемента в массиве Array, для которого требуется установить значение.

Атрибуты

Исключения

Текущий массив Array не имеет ровно одного измерения.

value не может быть приведен к типу элемента текущего массива Array.

index находится вне диапазона допустимых индексов для текущего массива Array.

Комментарии

Методы GetLowerBound и GetUpperBound могут определить, выходит ли значение index за пределы.

Дополнительные сведения о преобразованиях см. в разделе Convert.

Этот метод является операцией O(1).

Примечание

Если SetValue используется для назначения null элементу массива типов значений, все поля элемента инициализируются нулевым значением. Значение элемента не является пустой ссылкой и не может быть найдено путем поиска пустой ссылки.

См. также раздел

Применяется к