为什么这个使用“;函数“;不起作用
本文关键字:不起作用 函数 为什么 | 更新日期: 2023-09-27 18:28:22
我制作了一个小的C#程序,该程序获取一个数组,其中包含一些数字(float),并告诉数组中有多少数字不在区间中]a,b]我成功了。这是程序:
using System;
namespace Exercice_1
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("a = ?");
float a = float.Parse(Console.ReadLine());
Console.WriteLine("b = ?");
float b = float.Parse(Console.ReadLine());
float[] t = new float[50];
for(int i=0; i<t.Length; i++)
{
t[i]=4*i;
}
int k = 0;
for(int i=0; i<t.Length; i++)
{
if(t[i] <= a || t[i] > b)
{
k++;
}
}
Console.Write(""+k);
Console.ReadKey(true);
}
}
}
但后来我想尝试制作同样的程序,但要使用"函数"
但我没有成功。这是程序:
using System;
namespace Exercice_2
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("a = ?");
float a = float.Parse(Console.ReadLine());
Console.WriteLine("b = ?");
float b = float.Parse(Console.ReadLine());
float[] t = new float[50];
for(int i=0; i<t.Length; i++)
{
t[i]=4*i;
}
Console.Write(""+count(float[] t, float a, float b));
Console.ReadKey(true);
}
static int count(float[] u, float x, float y)
{
int k = 0;
for(int i=0; i<u.Length; i++)
{
if(u[i] <= x || u[i] > y)
{
k++;
}
}
return k;
}
}
}
我也试过把这个函数放在"类程序"之外,但它也不起作用。
这是我第一次尝试使用"函数",所以我可能犯了一些明显的初学者错误。。。
以下是SharpDevelop指出的所有"错误":http://oi62.tinypic.com/dnydsk.jpg
Console.Write(""+count(float[] t, float a, float b));
应该是
Console.Write(""+count(t, a, b));
调用方法时,不需要指定在方法签名中声明的类型
Signiture: count(float[] u, float x, float y)
To Call: count(t, a, b)
此行:
Console.Write(""+count(float[] t, float a, float b));
需要:
Console.Write(count(t, a, b));
当你调用一个函数时,你会传递变量。类型已固定。