C#获取一个数组中的最大值、最小值、平均值
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:49
C#获取一个数组中的最大值、最小值、平均值
1.给出一个数组
int[] array = new int[] { ,,,,,-,,,,};
2.数组Array自带方法
本身是直接可以调用Min(),Max(),Average()方法来求出 最小值、最大值、平均值
Console.WriteLine(“————–Array自身方法—————–”);
Console.WriteLine("Min:{0}",array.Min());<br/> Console.WriteLine("Max:{0}", array.Max());<br/> Console.WriteLine("Average:{0}", array.Average());</pre>输出结果:
————–Array自身方法—————–
Min:-
Max:
Average:62.43.编码实现
最小值
/// <summary>
/// 最小值<br/> /// </summary><br/> /// <param name="array"></param><br/> /// <returns></returns><br/> public static int Min(int[] array)<br/> {<br/> if (array == null) throw new Exception("数组空异常");<br/> int value = ;<br/> bool hasValue = false;<br/> foreach (int x in array)<br/> {<br/> if (hasValue)<br/> {<br/> if (x < value) value = x;<br/> }<br/> else<br/> {<br/> value = x;<br/> hasValue = true;<br/> }<br/> }<br/> if (hasValue) return value;<br/> throw new Exception("没找到");<br/> }</pre>最大值
/// <summary>
/// 最大值<br/> /// </summary><br/> /// <param name="array"></param><br/> /// <returns></returns><br/> public static int Max(int[] array)<br/> {<br/> if (array == null) throw new Exception("数组空异常");<br/> int value = ;<br/> bool hasValue = false;<br/> foreach (int x in array)<br/> {<br/> if (hasValue)<br/> {<br/> if (x > value)<br/> value = x;<br/> }<br/> else<br/> {<br/> value = x;<br/> hasValue = true;<br/> }<br/> }<br/> if (hasValue) return value;<br/> throw new Exception("没找到");<br/> }</pre>平均值
/// <summary>
/// 平均值<br/> /// </summary><br/> /// <param name="source"></param><br/> /// <returns></returns><br/> public static double? Average(int[] array)<br/> {<br/> if (array == null) throw new Exception("数组空异常");<br/> long sum = ;<br/> long count = ;<br/> checked<br/> {<br/> foreach (int? v in array)<br/> {<br/> if (v != null)<br/> {<br/> sum += v.GetValueOrDefault();<br/> count++;<br/> }<br/> }<br/> }<br/> if (count > ) return (double)sum / count;<br/> return null;<br/> }</pre>4.测试输出
测试代码
static void Main(string[] args)
{<br/> int[] array = new int[] { ,,,,,-,,,,};Console.WriteLine(“————–Array自身方法—————–”);
Console.WriteLine("Min:{0}",array.Min());<br/> Console.WriteLine("Max:{0}", array.Max());<br/> Console.WriteLine("Average:{0}", array.Average());Console.WriteLine(“—————内部实现方法——————”);
int min = Program.Min(array);<br/> int max = Program.Max(array);<br/> double? average = Program.Average(array);<br/> Console.WriteLine("Min:" + min);<br/> Console.WriteLine("Max:" + max);<br/> Console.WriteLine("Average:" + average);<br/> Console.Read();<br/> }</pre>输出结果
以上代码也是从.NET Framework中摘出来的,实际上 Array的自带求最大值、最小值、平均值的算法就是这样做的,在.NET Framework源码中可以看到
5.工程源码下载
相关文章
-
C#记录日志、获取枚举值 等通用函数列表
C#记录日志、获取枚举值 等通用函数列表
- 互联网
- 2026年04月04日
-
C#加载Json数组
C#加载Json数组
- 互联网
- 2026年04月04日
-
c#将base64图片保存
c#将base64图片保存
- 互联网
- 2026年04月04日
-
C#绘制三角形并填充,使用winform实现qq聊天气泡
C#绘制三角形并填充,使用winform实现qq聊天气泡
- 互联网
- 2026年04月04日
-
C#高级编程 (第六版) 学习 第六章:运算符和类型强制转换
C#高级编程 (第六版) 学习 第六章:运算符和类型强制转换
- 互联网
- 2026年04月04日
-
c 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ
c 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ
- 互联网
- 2026年04月04日







