尝试在我的反向函数

时间:2018-05-20 09:31:16

标签: c# arrays reverse

正如标题所述,我试图用自己的反向函数反转浮点数组。

反向函数不能返回变量。该程序的逻辑可能已关闭,所以我可能正在接近这个错误。

现在我得到的错误是它无法从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来解决这个问题,但问题是它不能返回值。

1 个答案:

答案 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));