我有一个全局变量int[]
,我想清除它的数据并在循环中再次填充它。
这怎么可能在C#?
答案 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()