为什么它不给我平均3?如何从wcf服务中的数组中计算平均值
public double total = 0;
public double avg = 0;
public double[] Yahoo = { 1, 2, 3, 4,5 };
for (int i = 0; i < Yahoo.Length; i++)
{
total += Yahoo[i];
}
avg = total/Yahoo.Length;
为什么它不给我平均3?如何从wcf服务中的数组中计算平均值
public double total = 0;
public double avg = 0;
public double[] Yahoo = { 1, 2, 3, 4,5 };
for (int i = 0; i < Yahoo.Length; i++)
{
total += Yahoo[i];
}
avg = total/Yahoo.Length;
我跑这个控制台应用程序:
class Program
{
static void Main(string[] args)
{
double total = 0;
double avg = 0;
double[] Yahoo = { 1, 2, 3, 4,5 };
for (int i = 0; i < Yahoo.Length; i++)
{
total += Yahoo[i];
}
avg = total/Yahoo.Length;
Console.WriteLine(avg);
Console.ReadKey();
}
}
,我得到了3
但是你可以使用LINQ为您希望:
Yahoo.Average();
啊,为了要使用此方法,您必须在源代码文件的顶部设置以下using语句:
using System.Linq;
注意有一件事似乎很奇怪对我来说,你已经声明的变量
public double total = 0;
public double avg = 0;
public double[] Yahoo = { 1, 2, 3, 4,5 };
,因为这些应该在方法声明的方式,他们不应该有访问修饰符。这是错误的。
这不回答OP的问题。 –
谢谢yahoo.average()为我工作 – user3486586
@GrantWinney如果这些变量是在方法中声明的,他们是否可以有访问修饰符?如果他们是类变量,那么他们应该有一个访问修饰符。但如果他们没有? – Christos
它适用于我(假设您实际将代码放置在实际编译的上下文中)。 –
什么问题?你得到什么输出? –
你确定这个数组是正确的吗?我怀疑这个例子和你的真实代码有更大的不同 –