我要创建一个辅助方法,返回一个新数组,其元素是原始数组的平方.但是当我运行代码时,控制台返回"System.Double []".我怎样才能解决这个问题?
这是方法代码:
static double[] powerOfTwo(int[] arr)
{
double[] elevatedPower = new double[10];
elevatedPower[0] = Math.Pow(arr[0], 2);
elevatedPower[1] = Math.Pow(arr[1], 2);
elevatedPower[2] = Math.Pow(arr[2], 2);
elevatedPower[3] = Math.Pow(arr[3], 2);
elevatedPower[4] = Math.Pow(arr[4], 2);
elevatedPower[5] = Math.Pow(arr[5], 2);
elevatedPower[6] = Math.Pow(arr[6], 2);
elevatedPower[7] = Math.Pow(arr[7], 2);
elevatedPower[8] = Math.Pow(arr[8], 2);
elevatedPower[9] = Math.Pow(arr[9], 2);
return elevatedPower;
}
Run Code Online (Sandbox Code Playgroud)
以及在控制台中打印它的代码:
static void Main(string[] args)
{
double[] powerValues = powerOfTwo(new int[] {1,2,3,4,5,6,7,8,9,10});
Console.Write(powerValues);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
你的方法很好.但是当你这样做时Console.WriteLine(powerValues),编译器会调用ToString()数据类型的方法System.double[].
foreach(var value in powerValues)
Console.WriteLine(value);
Run Code Online (Sandbox Code Playgroud)
有了Linq, using System.Linq;
var powerValues = (new int[] {1,2,3,4,5,6,7,8,9,10}).Select(x => x*x);
Run Code Online (Sandbox Code Playgroud)