C# 数组 - SetValue() 方法
C# 数组 SetValue() 方法用于设置数组中特定索引的值。它提供了在单维和多维数组中设置值的灵活性。
我们赋值或设置给数组的值应该与数组类型兼容。否则,我们将抛出 InvalidCastException 异常。
语法
以下是 C# 数组 SetValue() 方法的语法 -
public void SetValue(object value, params int[] indices);
参数
此方法接受以下参数 -
- value:要分配给指定数组元素的值。
- indices:一个整数数组,指定要设置的元素的位置。一维数组提供一个索引。二维数组提供两个索引。
返回值
此方法不返回任何值。
示例 1:在一维数组中设置值
让我们创建一个 SetValue() 方法的基本示例。在这里,我们将演示如何在一维数组中设置和获取特定值 -
using System; public class SamplesArray { public static void Main() { String[] myArr1 = new String[5]; // 设置索引 3 处的元素。 myArr1.SetValue( "three", 3 ); Console.WriteLine( "[3]: {0}", myArr1.GetValue( 3 ) ); } }
输出
以下是输出 -
[3]: three
示例 2:设置二维数组的值
让我们看另一个使用 SetValue() 方法设置和获取二维数组值的示例 -
using System; public class SamplesArray { public static void Main() { // 创建并初始化一个二维数组。 String[,] arr = new String[5,5]; // 设置索引 1,3 处的元素。 arr.SetValue( "one three", 1, 3 ); Console.WriteLine( "[1,3]: {0}", arr.GetValue( 1, 3 ) ); } }
输出
以下是输出 -
[1,3]: one three
示例 3:设置三维数组中的值
这是 SetValue() 方法的另一个示例。在这里,我们设置并获取三维数组中的值 -
using System; public class SamplesArray { public static void Main() { // 创建并初始化三维数组。 String[,,] myArr3 = new String[5,5,5]; // 设置索引 1,2,3 处的元素。 myArr3.SetValue( "one two three", 1, 2, 3 ); Console.WriteLine( "[1,2,3]: {0}", myArr3.GetValue( 1, 2, 3 ) ); } }
输出
以下是输出 -
[1,2,3]: one two three
示例 4:使用带类型转换的 SetValue
在此示例中,我们使用带类型转换的 SetValue() 方法。SetValue 方法会在必要时尝试类型转换,但如果转换无效,则会引发运行时异常 -
using System; class Program { static void Main() { // 创建对象数组 object[] items = new object[3]; // 设置不同类型的值 items.SetValue(42, 0); items.SetValue("Hello", 1); items.SetValue(DateTime.Now, 2); foreach (var item in items) { Console.WriteLine(item); } } }
输出
以下是输出 -
42 Hello 1/4/2025 10:52:06 AM