📅  最后修改于: 2023-12-03 15:02:41.498000             🧑  作者: Mango
在C#中,可以使用LINQ来找到给定序列的平均值。LINQ(Language Integrated Query)是一种强大的查询语言,可用于检索和操作数据。
要计算给定序列的平均值,可以使用Average()
方法。该方法是LINQ扩展方法,它接受一个序列并返回该序列的平均值。
以下是一个使用LINQ计算数组平均值的示例:
int[] numbers = { 2, 4, 6, 8, 10 };
double avg = numbers.Average();
Console.WriteLine("The average is: " + avg);
输出:
The average is: 6
在这个例子中,numbers
是一个包含5个整数的数组。Average()
方法会计算这个序列的平均值,并将结果存储在avg
变量中。最后,程序输出结果。
注意:Average()
方法返回的结果是一个double
类型的数据,即使序列中的所有数字都是整数。
如果给定的序列是空的,调用Average()
方法会抛出InvalidOperationException
。为了避免这种情况,可以使用DefaultIfEmpty()
方法提供一个默认值。如果序列为空,DefaultIfEmpty()
方法会返回一个包含一个默认值的序列。在这种情况下,平均值将是默认值。
以下是一个使用DefaultIfEmpty()
方法计算空序列平均值的示例:
int[] numbers = {};
double avg = numbers.DefaultIfEmpty(0).Average();
Console.WriteLine("The average is: " + avg);
输出:
The average is: 0
在这个例子中,numbers
是一个空的整数数组。在调用Average()
方法之前,使用DefaultIfEmpty()
方法提供默认值0。因此,当计算平均值时,结果将是0。
通过使用LINQ中的Average()
方法,开发人员可以轻松地计算序列的平均值。如果序列可能为空,还可以使用DefaultIfEmpty()
方法提供一个默认值。