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 的有效索引範圍。

備註

GetLowerBoundGetUpperBound 方法可以判斷 的值index是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果使用 SetValue 指派給 null 實值型別數位的專案,則專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 位元整數的一維陣列,代表指定要設定之項目位置的索引。

例外狀況

indicesnull

在目前 Array 的維度數目不等於 indices 中的項目數。

value 無法轉換成目前 Array 的項目類型。

indices 中的所有項目都超出 Array 之相對應維度的有效索引範圍 。

備註

中的 indices 項目數目必須等於 中的 Array維度數目。 陣列中的所有 indices 項目都必須統一指定多維度 Array中所需專案的位置。

GetLowerBoundGetUpperBound 方法可以判斷陣列中的任何indices值是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果使用 SetValue 指派給 null 實值型別數位的專案,則專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 位元整數的一維陣列,代表指定要設定之元素位置的索引。

屬性

例外狀況

indicesnull

在目前 Array 的維度數目不等於 indices 中的項目數。

value 無法轉換成目前 Array 的項目類型。

indices 中的所有項目都超出 Array 之相對應維度的有效索引範圍 。

備註

中的 indices 項目數目必須等於 中的 Array維度數目。 陣列中的所有 indices 項目都必須統一指定多維度 Array中所需專案的位置。

GetLowerBoundGetUpperBound 方法可以判斷陣列中的任何indices值是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果使用 SetValue 指派給 null 實值型別數位的專案,則專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 的項目類型。

index1index2 超出目前 Array 之相對應維度的有效索引範圍。

備註

GetLowerBoundGetUpperBound 方法可以判斷任何索引是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果使用 SetValue 指派給 null 實值型別數位的專案,則專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 的項目類型。

index1index2 超出目前 Array 之相對應維度的有效索引範圍。

備註

GetLowerBoundGetUpperBound 方法可以判斷任何索引是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果 SetValue 用來指派 null 給實值型別數位的專案,專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 的項目類型。

index1index2index3 超出目前 Array 之相對應維度的有效索引範圍 。

備註

GetLowerBoundGetUpperBound 方法可以判斷任何索引是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果 SetValue 用來指派 null 給實值型別數位的專案,專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 的項目類型。

index1index2index3 超出目前 Array 之相對應維度的有效索引範圍 。

備註

GetLowerBoundGetUpperBound 方法可以判斷任何索引是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果 SetValue 用來指派 null 給實值型別數位的專案,專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 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 的有效索引範圍。

備註

GetLowerBoundGetUpperBound 方法可以判斷 的值index是否超出界限。

如需轉換的詳細資訊,請參閱 Convert

這個方法是 O (1) 作業。

注意

如果 SetValue 用來指派 null 給實值型別數位的專案,專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 Null 參考來找到。

另請參閱

適用於