【发布时间】:2018-06-23 08:27:33
【问题描述】:
我想创建一个显示数组元素的方法,第一个方法 elementsOfArray 被调用时,而不是在 () 内显示给定数组的元素,它在方法内显示数组的元素(在这个如果没有元素所以它只显示 , , , ,) 但是名为 elementsOfArray1 的方法工作正常我不明白这两种方法之间有什么区别,为什么我必须在方法中声明另一个数组只使用我在() 中声明为参数的那个?
class Program
{
static void elementsOfArray(string[] array)
{
array = new string[array.Length];
int i;
for ( i = 0; i < array.Length - 1; i++)
Console.Write(array[i] + ",");
Console.WriteLine(array[i]);
}
static void elementsOfArray1(string[] array)
{
string[] array1 = new string[array.Length];
int i;
for (i = 0; i < array.Length - 1; i++)
Console.Write(array[i] + ",");
Console.WriteLine(array[i]);
}
static void Main(string[] args)
{
string[] names = { "Robert", "Allen", "Brandon", "Jack", "Erwin" };
elementsOfArray(names);
elementsOfArray1(names);
Console.ReadKey();
}
}
【问题讨论】:
-
你能给我们两个完整的输出吗?这可能有助于我们真正发现差异。
-
“为什么我必须在方法中声明另一个数组,而不是只使用我在 () 中声明为参数的数组?”你没有。这实际上就是把一切都搞砸的东西。第二种方法中的
string[] array1 = new string[array.Length];行不执行任何操作。第一种方法中的array = new string[array.Length];行把一切都搞砸了。所以只需删除这些行。 -
@Dennis_E 我认为这甚至没有必要我可以直接循环,非常感谢