Edit

Share via


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.

C#
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

*/

SetValue(Object, Int32)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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

C#
public void SetValue(object value, int index);
C#
public void SetValue(object? value, int index);

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

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

SetValue(Object, Int32[])

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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.

C#
public void SetValue(object value, params int[] indices);
C#
public void SetValue(object? value, params int[] indices);

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

.NET 10 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

SetValue(Object, Int64[])

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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.

C#
public void SetValue(object? value, params long[] indices);
C#
public void SetValue(object value, params long[] indices);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue(object value, params long[] indices);

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

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

SetValue(Object, Int32, Int32)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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

C#
public void SetValue(object? value, int index1, int index2);
C#
public void SetValue(object value, int index1, int index2);

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

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

SetValue(Object, Int64, Int64)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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

C#
public void SetValue(object? value, long index1, long index2);
C#
public void SetValue(object value, long index1, long index2);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue(object value, long index1, long index2);

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

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

SetValue(Object, Int32, Int32, Int32)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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

C#
public void SetValue(object? value, int index1, int index2, int index3);
C#
public void SetValue(object value, int index1, int index2, int index3);

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

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

SetValue(Object, Int64, Int64, Int64)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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

C#
public void SetValue(object? value, long index1, long index2, long index3);
C#
public void SetValue(object value, long index1, long index2, long index3);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue(object value, long index1, long index2, long index3);

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

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

SetValue(Object, Int64)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

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

C#
public void SetValue(object? value, long index);
C#
public void SetValue(object value, long index);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public void SetValue(object value, long index);

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

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1