英語で読む

次の方法で共有


Array.SetValue メソッド

定義

現在の Array 内の指定した要素を指定した値に設定します。

オーバーロード

SetValue(Object, Int32)

1 次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 32 ビット整数値として指定します。

SetValue(Object, Int32[])

多次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 32 ビット整数値の配列として指定します。

SetValue(Object, Int64[])

多次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 64 ビット整数値の配列として指定します。

SetValue(Object, Int32, Int32)

2 次元 Array の指定された位置にある要素に値を設定します。 インデックスは 32 ビット整数値として指定します。

SetValue(Object, Int64, Int64)

2 次元 Array の指定された位置にある要素に値を設定します。 インデックスは 64 ビット整数として指定します。

SetValue(Object, Int32, Int32, Int32)

3 次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 32 ビット整数値として指定します。

SetValue(Object, Int64, Int64, Int64)

3 次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 64 ビット整数として指定します。

SetValue(Object, Int64)

1 次元 Array 内の指定した位置にある要素に値を設定します。 このインデックスは 64 ビット整数値として指定されます。

次のコード例では、1 次元配列または多次元配列で特定の値を設定および取得する方法を示します。

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)

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

1 次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 32 ビット整数値として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

index
Int32

設定する Array 要素の位置を表す 32 ビット整数。

例外

現在の Array は正確に 1 つの次元を持つわけではありません。

value は現在の Array の要素型にキャストできません。

index は 現在の Array の有効なインデックスの範囲外です。

注釈

GetLowerBoundメソッドと GetUpperBound メソッドは、 のindex値が範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に割り当てるnull場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.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
.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[])

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

多次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 32 ビット整数値の配列として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

indices
Int32[]

設定する要素の位置を指定するインデックスを表す 32 ビット整数の 1 次元配列。

例外

indicesnullです。

現在の Array の次元数が indices 内の要素の数と等しくありません。

value は現在の Array の要素型にキャストできません。

indices 内の要素が、現在の Array の対応する次元の使用可能なインデックスの範囲に含まれていません。

注釈

indices 要素の数は、 内のディメンションの数と Array等しい必要があります。 配列内のすべての要素は、 indices 多次元 Array内の目的の要素の位置をまとめて指定する必要があります。

メソッドと GetUpperBound メソッドはGetLowerBound、配列内indicesの値のいずれかが範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に割り当てるnull場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.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
.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[])

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

多次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 64 ビット整数値の配列として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

indices
Int64[]

設定する要素の位置を指定するインデックスを表す 64 ビット整数の 1 次元配列。

属性

例外

indicesnullです。

現在の Array の次元数が indices 内の要素の数と等しくありません。

value は現在の Array の要素型にキャストできません。

indices 内の要素が、現在の Array の対応する次元の使用可能なインデックスの範囲に含まれていません。

注釈

indices 要素の数は、 内のディメンションの数と Array等しい必要があります。 配列内のすべての要素は、 indices 多次元 Array内の目的の要素の位置をまとめて指定する必要があります。

メソッドと GetUpperBound メソッドはGetLowerBound、配列内indicesの値のいずれかが範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に割り当てるnull場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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)

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

2 次元 Array の指定された位置にある要素に値を設定します。 インデックスは 32 ビット整数値として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

index1
Int32

設定する Array 要素の最初の次元のインデックスを表す 32 ビット整数。

index2
Int32

設定する Array 要素の 2 番目の次元のインデックスを表す 32 ビット整数。

例外

現在の Array が 2 次元ではありません。

value は現在の Array の要素型にキャストできません。

index1 または index2 は、現在の Array の対応する次元の使用可能なインデックスの範囲に含まれていません。

注釈

GetLowerBoundメソッドと GetUpperBound メソッドは、いずれかのインデックスが範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に割り当てるnull場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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)

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

2 次元 Array の指定された位置にある要素に値を設定します。 インデックスは 64 ビット整数として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

index1
Int64

設定する Array 要素の最初の次元のインデックスを表す 64 ビット整数。

index2
Int64

設定する Array 要素の 2 番目の次元のインデックスを表す 64 ビット整数。

属性

例外

現在の Array が 2 次元ではありません。

value は現在の Array の要素型にキャストできません。

index1 または index2 は、現在の Array の対応する次元の使用可能なインデックスの範囲に含まれていません。

注釈

GetLowerBoundメソッドと GetUpperBound メソッドは、いずれかのインデックスが範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に代入nullする場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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)

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

3 次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 32 ビット整数値として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

index1
Int32

設定する Array 要素の最初の次元のインデックスを表す 32 ビット整数。

index2
Int32

設定する Array 要素の 2 番目の次元のインデックスを表す 32 ビット整数。

index3
Int32

設定する Array 要素の 3 番目の次元のインデックスを表す 32 ビット整数。

例外

現在の Array に設定されている次元が 3 つではありません。

value は現在の Array の要素型にキャストできません。

index1index2 または index3 が、現在の Array の対応する次元の正しいインデックスの範囲に含まれていません。

注釈

GetLowerBoundメソッドと GetUpperBound メソッドは、いずれかのインデックスが範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に代入nullする場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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)

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

3 次元 Array 内の指定した位置にある要素に値を設定します。 インデックスは 64 ビット整数として指定します。

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

パラメーター

value
Object

指定した要素の新しい値。

index1
Int64

設定する Array 要素の最初の次元のインデックスを表す 64 ビット整数。

index2
Int64

設定する Array 要素の 2 番目の次元のインデックスを表す 64 ビット整数。

index3
Int64

設定する Array 要素の 3 番目の次元のインデックスを表す 64 ビット整数。

属性

例外

現在の Array に設定されている次元が 3 つではありません。

value は現在の Array の要素型にキャストできません。

index1index2 または index3 が、現在の Array の対応する次元の正しいインデックスの範囲に含まれていません。

注釈

GetLowerBoundメソッドと GetUpperBound メソッドは、いずれかのインデックスが範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に代入nullする場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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)

ソース:
Array.cs
ソース:
Array.cs
ソース:
Array.cs

1 次元 Array 内の指定した位置にある要素に値を設定します。 このインデックスは 64 ビット整数値として指定されます。

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

パラメーター

value
Object

指定した要素の新しい値。

index
Int64

設定する Array 要素の位置を表す 64 ビット整数。

属性

例外

現在の Array は正確に 1 つの次元を持つわけではありません。

value は現在の Array の要素型にキャストできません。

index は 現在の Array の有効なインデックスの範囲外です。

注釈

GetLowerBoundメソッドと GetUpperBound メソッドは、 のindex値が範囲外かどうかを判断できます。

変換の詳細については、「」を参照してください Convert

このメソッドは、O(1) 操作です。

注意

を使用して値型の配列の要素に代入nullする場合SetValue、要素のすべてのフィールドは 0 に初期化されます。 要素の値は null 参照ではなく、null 参照を検索しても見つかりません。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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