如何清除数组

时间:2010-04-20 08:04:18

标签: c# arrays

我有一个全局变量int[],我想清除它的数据并在循环中再次填充它。

这怎么可能在C#?

6 个答案:

答案 0 :(得分:29)

静态Array.Clear()方法“将数组中的一系列元素设置为零,为假,或者为Nothing,具体取决于元素类型”。如果要清除整个数组,可以使用此方法并将其作为起始索引0并将myArray.Length作为长度提供:

Array.Clear(myArray, 0, myArray.Length);

答案 1 :(得分:10)

不会更容易使用列表。

public List<int> something = new List<int>();

然后:

something.Add(somevalue);

要明确:

something.Clear();

答案 2 :(得分:4)

这不是您的帖子的正确答案,但您可以根据需要使用此逻辑。 以下是从here

获取的代码片段
using System;

class ArrayClear
{

   public static void Main()
   {
      int[] integers = { 1, 2, 3, 4, 5 };
      DumpArray ("Before: ", integers);
      Array.Clear (integers, 1, 3);
      DumpArray ("After:  ", integers);
   }

   public static void DumpArray (string title, int[] a)
   {
      Console.Write (title);
      for (int i = 0; i < a.Length; i++ )
      {
         Console.Write("[{0}]: {1, -5}", i, a[i]);
      }
      Console.WriteLine();
   }
}

并输出:

Before: [0]: 1    [1]: 2    [2]: 3    [3]: 4    [4]: 5
After:  [0]: 1    [1]: 0    [2]: 0    [3]: 0    [4]: 5

答案 3 :(得分:2)

为什么不创建新数组并将其分配给现有数组变量?

x = new int[x.length];

答案 4 :(得分:0)

  int[] x 
  int[] array_of_new_values

  for(int i = 0 ; i < x.Length && i < array_of_new_values.Length ;i++)
  {
        x[i] = array_of_new_values[i]; // this will give x[i] its new value
  }

为什么要清除它?只需指定新值即可。

答案 5 :(得分:0)

对于二维数组,您应该如下所示:

with open("/etc/hostname","r") as f: print f.read()