Array.SetValue Method

Definition

Sets the specified element in the current Array to the specified value.

Overloads

SetValue(Object, Int32)

Sets a value to the element at the specified position in the one-dimensional Array. The index is specified as a 32-bit integer.

SetValue(Object, Int32[])

Sets a value to the element at the specified position in the multidimensional Array. The indexes are specified as an array of 32-bit integers.

SetValue(Object, Int64[])

Sets a value to the element at the specified position in the multidimensional Array. The indexes are specified as an array of 64-bit integers.

SetValue(Object, Int32, Int32)

Sets a value to the element at the specified position in the two-dimensional Array. The indexes are specified as 32-bit integers.

SetValue(Object, Int64, Int64)

Sets a value to the element at the specified position in the two-dimensional Array. The indexes are specified as 64-bit integers.

SetValue(Object, Int32, Int32, Int32)

Sets a value to the element at the specified position in the three-dimensional Array. The indexes are specified as 32-bit integers.

SetValue(Object, Int64, Int64, Int64)

Sets a value to the element at the specified position in the three-dimensional Array. The indexes are specified as 64-bit integers.

SetValue(Object, Int64)

Sets a value to the element at the specified position in the one-dimensional Array. The index is specified as a 64-bit integer.

Examples

The following code example demonstrates how to set and get a specific value in a one-dimensional or multidimensional array.

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)

Sets a value to the element at the specified position in the one-dimensional Array. The index is specified as a 32-bit integer.

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)

Parameters

value
Object

The new value for the specified element.

index
Int32

A 32-bit integer that represents the position of the Array element to set.

Exceptions

The current Array does not have exactly one dimension.

value cannot be cast to the element type of the current Array.

index is outside the range of valid indexes for the current Array.

Remarks

The GetLowerBound and GetUpperBound methods can determine whether the value of index is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int32[])

Sets a value to the element at the specified position in the multidimensional Array. The indexes are specified as an array of 32-bit integers.

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

Parameters

value
Object

The new value for the specified element.

indices
Int32[]

A one-dimensional array of 32-bit integers that represent the indexes specifying the position of the element to set.

Exceptions

indices is null.

The number of dimensions in the current Array is not equal to the number of elements in indices.

value cannot be cast to the element type of the current Array.

Any element in indices is outside the range of valid indexes for the corresponding dimension of the current Array.

Remarks

The number of elements in indices must equal the number of dimensions in the Array. All elements in the indices array must collectively specify the position of the desired element in the multidimensional Array.

The GetLowerBound and GetUpperBound methods can determine whether any of the values in the indices array is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int64[])

Sets a value to the element at the specified position in the multidimensional Array. The indexes are specified as an array of 64-bit integers.

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

Parameters

value
Object

The new value for the specified element.

indices
Int64[]

A one-dimensional array of 64-bit integers that represent the indexes specifying the position of the element to set.

Attributes

Exceptions

indices is null.

The number of dimensions in the current Array is not equal to the number of elements in indices.

value cannot be cast to the element type of the current Array.

Any element in indices is outside the range of valid indexes for the corresponding dimension of the current Array.

Remarks

The number of elements in indices must equal the number of dimensions in the Array. All elements in the indices array must collectively specify the position of the desired element in the multidimensional Array.

The GetLowerBound and GetUpperBound methods can determine whether any of the values in the indices array is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int32, Int32)

Sets a value to the element at the specified position in the two-dimensional Array. The indexes are specified as 32-bit integers.

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)

Parameters

value
Object

The new value for the specified element.

index1
Int32

A 32-bit integer that represents the first-dimension index of the Array element to set.

index2
Int32

A 32-bit integer that represents the second-dimension index of the Array element to set.

Exceptions

The current Array does not have exactly two dimensions.

value cannot be cast to the element type of the current Array.

Either index1 or index2 is outside the range of valid indexes for the corresponding dimension of the current Array.

Remarks

The GetLowerBound and GetUpperBound methods can determine whether any of the indexes is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int64, Int64)

Sets a value to the element at the specified position in the two-dimensional Array. The indexes are specified as 64-bit integers.

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)

Parameters

value
Object

The new value for the specified element.

index1
Int64

A 64-bit integer that represents the first-dimension index of the Array element to set.

index2
Int64

A 64-bit integer that represents the second-dimension index of the Array element to set.

Attributes

Exceptions

The current Array does not have exactly two dimensions.

value cannot be cast to the element type of the current Array.

Either index1 or index2 is outside the range of valid indexes for the corresponding dimension of the current Array.

Remarks

The GetLowerBound and GetUpperBound methods can determine whether any of the indexes is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int32, Int32, Int32)

Sets a value to the element at the specified position in the three-dimensional Array. The indexes are specified as 32-bit integers.

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)

Parameters

value
Object

The new value for the specified element.

index1
Int32

A 32-bit integer that represents the first-dimension index of the Array element to set.

index2
Int32

A 32-bit integer that represents the second-dimension index of the Array element to set.

index3
Int32

A 32-bit integer that represents the third-dimension index of the Array element to set.

Exceptions

The current Array does not have exactly three dimensions.

value cannot be cast to the element type of the current Array.

index1 or index2 or index3 is outside the range of valid indexes for the corresponding dimension of the current Array.

Remarks

The GetLowerBound and GetUpperBound methods can determine whether any of the indexes is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int64, Int64, Int64)

Sets a value to the element at the specified position in the three-dimensional Array. The indexes are specified as 64-bit integers.

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)

Parameters

value
Object

The new value for the specified element.

index1
Int64

A 64-bit integer that represents the first-dimension index of the Array element to set.

index2
Int64

A 64-bit integer that represents the second-dimension index of the Array element to set.

index3
Int64

A 64-bit integer that represents the third-dimension index of the Array element to set.

Attributes

Exceptions

The current Array does not have exactly three dimensions.

value cannot be cast to the element type of the current Array.

index1 or index2 or index3 is outside the range of valid indexes for the corresponding dimension of the current Array.

Remarks

The GetLowerBound and GetUpperBound methods can determine whether any of the indexes is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to

SetValue(Object, Int64)

Sets a value to the element at the specified position in the one-dimensional Array. The index is specified as a 64-bit integer.

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)

Parameters

value
Object

The new value for the specified element.

index
Int64

A 64-bit integer that represents the position of the Array element to set.

Attributes

Exceptions

The current Array does not have exactly one dimension.

value cannot be cast to the element type of the current Array.

index is outside the range of valid indexes for the current Array.

Remarks

The GetLowerBound and GetUpperBound methods can determine whether the value of index is out of bounds.

For more information about conversions, see Convert.

This method is an O(1) operation.

Note

If SetValue is used to assign null to an element of an array of value types, all fields of the element are initialized to zero. The value of the element is not a null reference, and cannot be found by searching for a null reference.

See also

Applies to