LINQ操作List<T>

LINQ操作List<T>主要包括:

1.筛选

List<string> stcdList = stcdArray.ToList<string>()
                .FindAll(new Predicate<string>(stcd => stcd.Contains("stcd_")))
                .Select(stcd => stcd.Substring(5))
                .ToList<string>();

2.拼接

List<string> suggestion = new List<string>();
string sg_font_details = suggestion.Aggregate((s1, s2) => string.Format("{0},{1}", s1, s2)).ToString();

3.分组统计

public class HomeStat
    {
        public string adnm { get; set; }
        public string ProCount { get; set; }
        public string countCompare { get; set; }
        public string perCount { get; set; }
        public string dayCount { get; set; }
        public string perDayCount { get; set; }
    }
List<HomeStat> chsList = new List<HomeStat>() {... };
var query = hsList.GroupBy(t => t.adnm).Select(p => new
                    {
                        adnm = p.Key,
                        dayCount = p.Sum(x => double.Parse(x.dayCount)),
                        proCount = p.Select(x => x.projectID).Distinct().Count(),
                        perCount = p.Sum(x => double.Parse(x.perCount)),
                        perDayCount = p.Sum(x => double.Parse(x.perDayCount))
                    });

4.分组拼接

public class Service
    {
        public string Month { get; set; }
        public string Content { get; set; }
    }
List<Service> serList = new List<Service>(){...};
var query = serList.GroupBy(t => t.Month).Select(g => g.Aggregate((s1, s2) =>
                new Service { Month = g.Key, Content = s1.Content + "," + s2.Content }))
                .OrderByDescending(t => t.Month);
时间: 2024-10-10 05:52:19

LINQ操作List<T>的相关文章

.NET环境下,通过LINQ操作SQLite数据库

//对应数据库中的某个表 [Table(Name = "main.Student")]    public class Student    {        [Column(Name = "StuName", DbType = "varchar(50)")]        public string StuName { get; set; }        [Column(Name = "StuNo", DbType = &

8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解

本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 LINQ操作 懒加载和预加载 插入数据 更新数据 删除数据 本章小结 本人的实验环境是VS 2013 Update 5,windows 10,MSSQL Server 2008. 上一篇<Code First开发系列之领域建模和管理实体关系>,我们主要介绍了EF中“约定大于配置”的概念,如何创建数据

LinQ操作

一.LinQ to SQL LinQ是指集成化查询语言,通过映射将数据库内的表名变为C#的类名,将列名作为属性名,将表的关系作为类的成员对象.O--M--R O-Object对象 R-Relation关系 M-Mapping映射 LinQ包括:LinQ to SQL,针对SQL的查询,它是一个带有可视化的操作界面的ORM工具. LinQ to Object,用来实现对内存中集合对象的查询. LinQ to DataSet,对强类型化或弱类型化的DataSet或独立的DataTable进行查询.

如何使用linq操作datatable进行分组

使用微软.net的孩子们应该都知道linq吧,要知道linq可是其他高级语言没有的技术,比如php,java等等,但是起初我对linq的认识只是停留在对 list<> 的泛型集合进行操作,要知道操作数据库的,我们比较容易得到的是 datatable,而得到 list<>集合的性能会降低,很多情况下,我们需要对我们的datatable进行操作,很多想到了的对datatable进行逐行或者 逐列进行遍历,但是如果要对datatable进行分组 那就没有办法了,在找了很多资料之后,我发现

LinQ操作List&lt;&gt;对象

转载于:http://www.cnblogs.com/shuibin/archive/2012/04/19/2457867.html 最近在项目中,刚好遇到这个需求, 需要比较两个List,进行一些交集等操作, 在以前我们可能需要写很多行來完成這些动作, 但现在我们只需要借由LinQ就能轻松达到目的! ※本文使用int为例,若为使用自定之DataModel,需實作IEquatable<T>介面才能使用 1.  取交集 (A和B都有) List A : { 1 , 2 , 3 , 5 , 9 }

C#基础知识---Linq操作XML文件

一.使用Linq创建XML文件 1 public static class XMLFileHelper 2 { 3 /// <summary> 4 /// Create a xml file 5 /// </summary> 6 /// <param name="xmlPath"></param> 7 private static void CreateXmlFile(string xmlPath) 8 { 9 try 10 { 11 /

Linq 操作DataTable

class ClientStruct { public string ID = "ID"; public string Name = "Name"; public string Company = "Company"; public string CreatedDate = "CreatedDate"; } public string[,] infoArr = new string[,] { { "1",

LinQ操作泛型集合List&lt;T&gt;中的常用方法

1 Find()方法: 也可以使用lambda表达式,会更加简洁一点 这两个代码完全是等价的都是返回年龄>20中的第一个元素.只是用lambda表达式更加简洁一点.上面用的是委托,匿名方法. 2 FindAll(): 返回的是所有匹配的元素 是一个集合 当然此处也可以用Where操作符筛选出来 3 ForEach() :遍历集合中的每一元素 进行指定的操作 没有返回值 先总结到这里... 哈哈 ... 原文地址:http://blog.51cto.com/11871779/2148129

C# - linq 操作 DataTable

1 方法一:更简洁 2 Console.WriteLine(dt.Rows.OfType<DataRow>().First(x => x.Field<string>("xx_Name") == "A").Field<string>("xx_NO")); 3 4 方法二:linq 更清晰 5 6 var query = from dr in dt.AsEnumerable() 7 where dr.Fiel