尝试在我的反向函数中使用数组时无法从 void 转换为 bool
Cannot convert from void to bool when trying to use an array in my reverse function
正如标题所述,我正在尝试使用我自己的反转函数反转浮点数组。
反向函数不能return一个变量。程序的逻辑可能不对,所以我可能处理错了。
现在我得到的错误是它无法从 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
}
我知道我可以通过将反向函数设为浮点函数并因此 return 一个浮点数来解决这个问题,但问题表明它不能 return 一个值。
您正在尝试打印 returns 类型为 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));
正如标题所述,我正在尝试使用我自己的反转函数反转浮点数组。
反向函数不能return一个变量。程序的逻辑可能不对,所以我可能处理错了。
现在我得到的错误是它无法从 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
}
我知道我可以通过将反向函数设为浮点函数并因此 return 一个浮点数来解决这个问题,但问题表明它不能 return 一个值。
您正在尝试打印 returns 类型为 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));