How to clear an array

2020-08-09 11:23发布

I have a global variable int[] and I want to clear its data and fill it again in a loop.

How could this possible in C#?

标签: c# arrays
6条回答
我只想做你的唯一
2楼-- · 2020-08-09 11:40
  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
  }

Why clear it? Just assign new values.

查看更多
兄弟一词,经得起流年.
3楼-- · 2020-08-09 11:41

Wouldnt it be easier to use a list instead.

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

And then:

something.Add(somevalue);

And to clear:

something.Clear();
查看更多
贼婆χ
4楼-- · 2020-08-09 11:42

This is not correct answer for your post but you can use this logic according to your need. Here is a code Snippets taken from 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();
   }
}

and output of this is:

Before: [0]: 1    [1]: 2    [2]: 3    [3]: 4    [4]: 5
After:  [0]: 1    [1]: 0    [2]: 0    [3]: 0    [4]: 5
查看更多
可以哭但决不认输i
5楼-- · 2020-08-09 11:47

Why not just create new array and assign it to existing array variable?

x = new int[x.length];
查看更多
萌系小妹纸
6楼-- · 2020-08-09 11:51

For two dimensional arrays, you should do as bellow:

Array.Clear(myArray, 0, myArray.GetLength(0)*myArray.GetLength(1));
查看更多
地球回转人心会变
7楼-- · 2020-08-09 11:55

The static Array.Clear() method "sets a range of elements in the Array to zero, to false, or to Nothing, depending on the element type". If you want to clear your entire array, you could use this method an provide it 0 as start index and myArray.Length as length:

Array.Clear(myArray, 0, myArray.Length);
查看更多
登录 后发表回答