正如标题所述,我试图用自己的反向函数反转浮点数组。
反向函数不能返回变量。该程序的逻辑可能已关闭,所以我可能正在接近这个错误。
现在我得到的错误是它无法从void转换为bool。
public static void reverse(float[] floatArr)
{
for (int i = 0; i < floatArr.Length; i++)
{
Console.WriteLine(floatArr[i]);
}
for (int i = 0; i < floatArr.Length / 2; i++)
{
float tmp = floatArr[i];
floatArr[i] = floatArr[floatArr.Length - i - 1];
floatArr[floatArr.Length - i - 1] = tmp;
}
}
static void Main(string[] args)
{
float[] floatArr = new float[5] { 5.6F, 6.4F, 4.2F, 3.6F, 8.4F };
Console.WriteLine(reverse(floatArr)); // cannot convert from void to bool
}
我知道我可以通过让reverse函数成为float函数并因此返回一个float来解决这个问题,但问题是它不能返回值。
答案 0 :(得分:0)
您正在尝试打印返回类型为void的函数。
Console.WriteLine(reverse(floatArr)); // cannot convert from void to bool -> this is correct error
首先应该调用reverse(floatArr)
,如果打算打印,则应该在数组上循环以打印值。如下:
reverse(floatArr);
foreach(var val in floatArr)
{
Console.WriteLine(val);
}
这将在控制台上以不同的行打印值。如果要在一行中打印所有值,请使用以下行(贷记给@LeonidVasilyev)
Console.WriteLine(string.Join(",", floatArr));