【发布时间】:2014-04-04 12:11:59
【问题描述】:
如何从SumElemtnts 方法内部更改数组a 的值?是因为它是静态方法吗?因为该方法只返回变量sum,没有ref或者out。
class Program
{
public static int SumElements(int[] a)
{
int[] a2 = a;
int sum = 0;
for (int i = 0; i < a2.Length; i++)
{
int temp = a2[i] * 10;
a2[i] = temp;
sum += temp;
}
a[a2.Length - 2] = sum;
return sum;
}
public static void Main(string[] args)
{
int[] a = { 1, 2, 3 };
int sum = SumElements(a);
Console.Write("Sum = " + sum + ", ");
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i] + " ");
}
}
}
结果是:
总和 = 60, 10 60 30
【问题讨论】:
标签: c# pass-by-reference pass-by-value