Array.SetValue 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將目前 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
指定項目的新值。
例外狀況
目前的 Array 並非恰有一個維度。
value
無法轉換成目前 Array 的項目類型。
index
超出目前 Array 的有效索引範圍。
備註
GetLowerBound和 GetUpperBound 方法可以判斷 的值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 位元整數的一維陣列,代表指定要設定之項目位置的索引。
例外狀況
indices
為 null
。
在目前 Array 的維度數目不等於 indices
中的項目數。
value
無法轉換成目前 Array 的項目類型。
indices
中的所有項目都超出 Array 之相對應維度的有效索引範圍 。
備註
中的 indices
項目數目必須等於 中的 Array維度數目。 陣列中的所有 indices
項目都必須統一指定多維度 Array中所需專案的位置。
GetLowerBound和 GetUpperBound 方法可以判斷陣列中的任何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 位元整數的一維陣列,代表指定要設定之元素位置的索引。
- 屬性
例外狀況
indices
為 null
。
在目前 Array 的維度數目不等於 indices
中的項目數。
value
無法轉換成目前 Array 的項目類型。
indices
中的所有項目都超出 Array 之相對應維度的有效索引範圍 。
備註
中的 indices
項目數目必須等於 中的 Array維度數目。 陣列中的所有 indices
項目都必須統一指定多維度 Array中所需專案的位置。
GetLowerBound和 GetUpperBound 方法可以判斷陣列中的任何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
指定項目的新值。
例外狀況
目前 Array 沒有剛好兩個維度。
value
無法轉換成目前 Array 的項目類型。
index1
或 index2
超出目前 Array 之相對應維度的有效索引範圍。
備註
GetLowerBound和 GetUpperBound 方法可以判斷任何索引是否超出界限。
如需轉換的詳細資訊,請參閱 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
指定項目的新值。
- 屬性
例外狀況
目前 Array 沒有剛好兩個維度。
value
無法轉換成目前 Array 的項目類型。
index1
或 index2
超出目前 Array 之相對應維度的有效索引範圍。
備註
GetLowerBound和 GetUpperBound 方法可以判斷任何索引是否超出界限。
如需轉換的詳細資訊,請參閱 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
指定項目的新值。
例外狀況
目前 Array 並非恰有三個維度。
value
無法轉換成目前 Array 的項目類型。
index1
或 index2
或 index3
超出目前 Array 之相對應維度的有效索引範圍 。
備註
GetLowerBound和 GetUpperBound 方法可以判斷任何索引是否超出界限。
如需轉換的詳細資訊,請參閱 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
指定項目的新值。
- 屬性
例外狀況
目前 Array 並非恰有三個維度。
value
無法轉換成目前 Array 的項目類型。
index1
或 index2
或 index3
超出目前 Array 之相對應維度的有效索引範圍 。
備註
GetLowerBound和 GetUpperBound 方法可以判斷任何索引是否超出界限。
如需轉換的詳細資訊,請參閱 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
指定項目的新值。
- 屬性
例外狀況
目前的 Array 並非恰有一個維度。
value
無法轉換成目前 Array 的項目類型。
index
超出目前 Array 的有效索引範圍。
備註
GetLowerBound和 GetUpperBound 方法可以判斷 的值index
是否超出界限。
如需轉換的詳細資訊,請參閱 Convert。
這個方法是 O (1) 作業。
注意
如果 SetValue 用來指派 null
給實值型別數位的專案,專案的所有欄位都會初始化為零。 元素的值不是 Null 參考,而且無法藉由搜尋 Null 參考來找到。