【发布时间】:2015-06-03 17:07:56
【问题描述】:
我正在做一个控制台应用程序,如果通过参数传递的数字作为数组元素出现多次,则会删除数组元素。
我已经完成了主要算法,但我不能将元素设置为 null。这是我的代码:
static int[] RemoveElement(ref int[] array, int num)
{
int i;
for (i = 0; i < array.Length; i++)
{
if (array[i] == num)
{
array[i] = 1; //This is a temporal solution.
}
}
return array;
}
这里是主要的:
static void Main(string[] args)
{
int[] a = {10, 2, 2, 3, 4};
Console.WriteLine("Write a number:");
int b = int.Parse(Console.ReadLine());
int[] arrayInts = RemoveElement(ref a, b);
foreach (var variable in arrayInts)
{
Console.WriteLine(variable);
}
Console.ReadKey();
}
提前致谢! :-)
【问题讨论】:
-
如果要删除元素,请使用
List<int>而不是数组! -
您可以使用 ArrayList 代替。然后你可以做
array.remove(i) -
int不能是null -
@KevinMee 注意:“对于ArrayList 的强类型替代方案,请考虑使用 List
” -
您不需要
ref来了解如何使用该数组。 (ref一般很少使用)