在 C# 中初始化一个空数组

Fil Zjazel Romaeus Villegas 2023年10月12日
在 C# 中初始化一个空数组

本教程将演示如何初始化一个已知大小的数组或一个空数组。

数组表示具有固定长度的值的集合。在初始化时设置其大小后,你不能再添加或减少数组。尽管你不能再更改数组的大小,但你仍然可以更改数组中各项的值。数组在组织大量数据时很有用。

要初始化数组,你可以使用以下任一示例。

// An array with a size of 5, all values are set to the default value. In this case, a 0 because its
// an integer
int[] array = new int[5];

// An array with all values set. When initializing the array in this way, there is no need to
// specify the size
int[] array_2 = new int[] { 10, 9, 8, 7, 6 };

由于数组的长度是固定的,如果你不知道要存储的集合大小,你可能需要考虑其他选项,例如 List<T>,它允许你根据需要添加任意数量的元素。添加完所有元素后,你可以使用 ToArray() 函数将列表转换为数组。

List<int> list = new List<int>();
int[] array = list.ToArray();

但是,如果你确实需要一个空数组,则可以将数组的大小设置为 0。

int[] array = new int[0];

例子:

using System;

namespace StringArray_Example {
  class Program {
    static void Main(string[] args) {
      // Initialize an empty array
      int[] empty_array = new int[0];
      // Join the values of the array to a single string separated by a comma
      string item_str = string.Join(", ", empty_array);

      // Print the length of the array
      Console.WriteLine("The array has a length of " + empty_array.Length.ToString());
      // Print the values of the array
      Console.WriteLine("Items: " + item_str);

      try {
        // Attempt to add a new item to the empty array
        empty_array[0] = 1;
      } catch (Exception ex) {
        Console.WriteLine("You cannot add new items to an array!");
        Console.WriteLine("Exception: " + ex.ToString());
      }

      Console.ReadLine();
    }
  }
}

在上面的示例中,我们通过将其大小设置为 0 来声明一个空整数数组。在将其值和长度打印到控制台以证明它确实为空之后,我们尝试向该数组添加一个新值。这不可避免地失败了,因为你不允许修改数组的大小,从而触发 Index was outside the bounds of the array 错误。

输出:

The array has a length of 0
Items:
You cannot add new items to an array!
Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.

相关文章 - Csharp Array