欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【转载】C#中使用Average方法对List集合中相应元素求平均值

程序员文章站 2023-08-12 09:59:37
在C#的List集合操作中,有时候需要对List集合元素进行汇总求平均值,如数值类型的List集合元素,有时候对象类型的List集合也需要对集合中的元素的某个对象进行汇总求平均值,此时都可以使用到Average来实现,Average方法是List集合中的Linq扩展方法,Average方法有2种形式 ......

在c#的list集合操作中,有时候需要对list集合元素进行汇总求平均值,如数值类型的list集合元素,有时候对象类型的list集合也需要对集合中的元素的某个对象进行汇总求平均值,此时都可以使用到average来实现,average方法是list集合中的linq扩展方法,average方法有2种形式,一种是不带任何参数的average()形式,适用于数值型如int、double、decimal等数值类型的list集合计算平均值,另一种是带lambda表达式的书写形式。

(1)针对数值类型的list集合,直接调用无参数的average()形式即可实现,例如有个list<int>的集合list1,里面元素为1至10,求平均值可使用下列语句

   list<int> list1 = new list<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   var avgresutl= list1.average();

计算得到的结果为avgresutl=5.5,avgresult为double双精度类型。

(2)根据list对象集合中的某个属性进行求平均值的情况。

例如定义个测试类testmodel类,具体实现如下:

   public class testmodel
    {
         public int index { set; get; }

        public string name { set; get; }
    }

在定义一个list<testmodel>集合对象testlist,往集合中添加下面3个元素。

  list<testmodel> testlist = new list<consoleapplication1.testmodel>();
            testlist.add(new testmodel()
            {
                 index=1,
                 name="index1"
            });
            testlist.add(new testmodel()
            {
                index = 2,
                name = "index2"
            });
            testlist.add(new testmodel()
            {
                index = 3,
                name = "index3"
            });

需要对list集合中的元素的index属性进行汇总求平均值可使用下列语句:

  var avgresult = testlist.average(t => t.index);

最后计算的结果为avgresult=2,avgresult为double双精度类型。

 

备注:原文转载自博主个人站it技术小趣屋,原文链接c#中使用average方法对list集合中相应元素求平均值_it技术小趣屋