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

csharp_array_class.html