linq sum(变量)的问题?

问题描述

data_list.Sum(p=>变量);可以这样做吗?

解决方案

解决方案二:
data_list.Sum(p=>p.变量);
解决方案三:
除非你的p本身就是数值类型对象publicstaticdecimal?Sum(thisIEnumerable<decimal?>source);publicstaticdecimalSum(thisIEnumerable<decimal>source);publicstaticdouble?Sum(thisIEnumerable<double?>source);publicstaticdoubleSum(thisIEnumerable<double>source);publicstaticfloat?Sum(thisIEnumerable<float?>source);publicstaticfloatSum(thisIEnumerable<float>source);publicstaticint?Sum(thisIEnumerable<int?>source);publicstaticintSum(thisIEnumerable<int>source);publicstaticlong?Sum(thisIEnumerable<long?>source);publicstaticlongSum(thisIEnumerable<long>source);publicstaticdecimal?Sum<TSource>(thisIEnumerable<TSource>source,Func<TSource,decimal?>selector);publicstaticdecimalSum<TSource>(thisIEnumerable<TSource>source,Func<TSource,decimal>selector);publicstaticdouble?Sum<TSource>(thisIEnumerable<TSource>source,Func<TSource,double?>selector);publicstaticdoubleSum<TSource>(thisIEnumerable<TSource>source,Func<TSource,double>selector);publicstaticfloat?Sum<TSource>(thisIEnumerable<TSource>source,Func<TSource,float?>selector);publicstaticfloatSum<TSource>(thisIEnumerable<TSource>source,Func<TSource,float>selector);publicstaticint?Sum<TSource>(thisIEnumerable<TSource>source,Func<TSource,int?>selector);publicstaticintSum<TSource>(thisIEnumerable<TSource>source,Func<TSource,int>selector);publicstaticlong?Sum<TSource>(thisIEnumerable<TSource>source,Func<TSource,long?>selector);publicstaticlongSum<TSource>(thisIEnumerable<TSource>source,Func<TSource,long>selector);这是Sum的所有重载
解决方案四:
可以啊,除了变量类型要正确外,基本没问题了List<int>l=newList<int>(){3,4,6};intp=100;varq=l.Sum(x=>p);Console.WriteLine(q);

解决方案五:
数值类型可以,如果是自定义类型,可以考虑重载下sum函数
解决方案六:
引用3楼hanjun0612的回复:

可以啊,除了变量类型要正确外,基本没问题了List<int>l=newList<int>(){3,4,6};intp=100;varq=l.Sum(x=>p);Console.WriteLine(q);

求和直接l.Sum()就可以了varlist=newList<int>(newint[]{1,2,3,4,5,6,7});//就和Console.WriteLine(list.Sum());Console.WriteLine(list.Sum(s=>s));//求奇数和Console.WriteLine(list.Where(w=>w%2==1).Sum());Console.WriteLine(list.Sum(s=>(s%2==1)?s:0));

时间: 2024-10-27 01:40:25

linq sum(变量)的问题?的相关文章

js变量作用域及可访问性的探讨

js|变量|访问 每一种语言都有变量的概念,变量是用来存储信息的一个元素.比如下面这个函数:  1function Student(name,age,from) 2{ 3 this.name = name; 4 this.age = age; 5 this.from = from; 6 this.ToString = function() 7 { 8  return "my information is name: "+this.name+",age : "+thi

LINQ和泛型类型

LINQ 查询基于泛型类型,在 .NET Framework 的 2.0 版中引入了泛型类型.您无需深入了解泛型即可开始编写查询.但是,您可能需要了解两个基本概念: 当您创建泛型集合类(如 List<(Of <(T>)>))的实例时,您将"T"替换为列表将包含的对象的类型.例如,字符串列表表示为 List,Customer 对象列表表示为 List.泛型列表是强类型的,且提供了比将其元素存储为 Object 的集合更多的好处.如果您尝试将 Customer 添加

js变量作用域及可访问性的探讨_javascript技巧

每一种语言都有变量的概念,变量是用来存储信息的一个元素.比如下面这个函数:  复制代码 代码如下:  function Student(name,age,from)  {   this.name = name;    this.age = age;   this.from = from;    this.ToString = function()   {    return "my information is name: "+this.name+",age : "

VB.Net中文教程(4) 类别继承(Inheritance)关系

继承|教程|中文 1. 类别之继承 类别之间﹐有些互为独立﹐有些具有密切关系.兹介绍类别间常见的关系──「父子」关系﹔由于儿女常继承父母之生理或心理特征﹐所以又称此关系为「继承」(Inheritance) 关系.类别间之密切关系﹐把相关的类别组织起来﹐并且组织程序内之对象.若程序内之对象毫无组织﹔呈现一片散沙﹐就不是好程序.完美之VB程序﹐必须重视类别间之关系﹐对象是有组织的. 如果 A类别「继承」 B类别﹐则称 A为「子类别」(Subclass)﹐也称B 为「父类别」(Superclass)﹐

Microsoft Visual C++浮点优化

摘要:了解如何使用 Microsoft Visual C++ 2005(以前称为 Visual C++"Whidbey")的浮点语义管理方法来优化浮点代码.创建快速程序,同时确保仅对浮点代码执行安全优化. C++ 中的浮点代码优化 C++ 优化编译器不仅能够将源代码转换为机器码,而且能够对机器指令进行适当的排列以便改善性 能和/或减小大小.遗憾的是,许多常用的优化在应用于浮点计算时未必安全.在下面的求和算法 [1] 中,可以看到这方面的一个恰当的示例: float KahanSum(

C语言之static辨析

1.概述 static声明的变量在C语言中有两方面的特征: 1).变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量的区别. 2).变量用static告知编译器,自己仅仅在变量的作用范围内可见.这一点是它与全局变量的区别. 2.问题:Static的理解 关于static变量,请选择下面所有说法正确的内容: A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度: B.若全局变量仅由单个函数访问,则可以

c语言中static用法总结

一.c程序存储空间布局   C程序一直由下列部分组成: 正文段--CPU执行的机器指令部分:一个程序只有一个副本:只读,防止程序由于意外事故而修改自身指令: 初始化数据段(数据段)--在程序中所有赋了初值的全局变量,存放在这里. 非初始化数据段(bss段)--在程序中没有初始化的全局变量:内核将此段初始化为0. 栈--增长方向:自顶向下增长:自动变量以及每次函数调用时所需要保存的信息(返回地址:环境信息). 堆--动态存储分. |-----------||           ||-------

使用stream操作表达更高级的数据处理请求, Part 1

使用stream操作表达更高级的数据处理请求,Part 1 原文链接 作者:Raoul-Gabriel Urma 译者:石头狮子(v1.lion@qq.com) 校对:吴京润 没有了集合你会怎么做?几乎每一个Java应用都建立和处理集合.对于许多编程任务而言,这是基础的技术:集合分组和处理数据.例如,你可能想要建立一个银行交易集合来代表用户的账户记录.然后,你想要处理所有的集合找出用户花费了多少金额.尽管集合如此重要,但是Java的实现远非完美. 首先,典型的集合处理模式有点像SQL操作,例如"

linux awk(good)

一个用awk处理字符串的例子: #!/bin/bash source="nokia201703148855" preffixStr=$(echo $source |awk '{print substr($0,0,13);}') echo "preffixStr:"$preffixStr suffixNum=$(echo $source |awk '{print substr($0,13,4);}') echo "suffixNum:"$suffi