zoukankan      html  css  js  c++  java
  • C# Linq处理list数据


    Select(取list中的id列数据,并按逗号分隔成字符串。例:1,2,3,4,5)
    //方式一 //分成key-value的数组 string[] id = list.Select(a => a.id.ToString()).ToArray(); //dt是datatable类型的,执行LINQ语句,这里的.AsEnumerable()是延迟发生,不会立即执行,实际上什么都没有发生 string[] id = dt.AsEnumerable().Select(a => a.Field<int>("id").ToString()).ToArray(); //将数组变成1,2,3,4,5的字符串 string ids = string.Join(",", id); //方式二 //效果等同于foreach循环 foreach (var i in list) { ids += i.id + ","; } ids = ids.TrimEnd(','); 上述代码使用LINQ 针对数据集中的数据进行筛选和整理,同样能够以一种面向对象的思想进行数据集中数据的筛选。
    在使用LINQ 进行数据集操作时,LINQ 不能直接从数据集对象中查询,因为数据集对象不支持LINQ 查询,所以需要使用AsEnumerable 方法返回一个泛型的对象以支持LINQ的查询操作。 .AsEnumerable()与相对应的.AsQueryable()的区别: 1) AsEnumerable()是 LINQ TO OBJECT,AsQueryable()是 LINQ TO SQL 2) AsEnumerable将一个序列向上转换为一个IEnumerable, 强制将Enumerable类下面的查询操作符绑定到后续的子查询当中。AsQueryable将一个序列向下转换为一个IQueryable, 它生成了一个本地查询的IQueryable包装。 3) AsEnumerable()延迟执行,不会立即执行。当你调用.AsEnumerable()的时候,实际上什么都没有发生。当真正使用对象的时候(例如调用:First, Single, ToList....的时候)才执行。 4) .ToList()立即执行

    Where与Select的同时使用,取list中的id列数据,并按逗号分隔成字符串。

    string[] id = list.Where(a => !string.IsNullOrEmpty(a.user_type)).Select(a => a.id).ToArray();
    //ids="1,2,3,4,5,6,7";
    string ids = string.Join(",", id);

     参考文章:https://www.cnblogs.com/cang12138/p/5305629.html#_label8

  • 相关阅读:
    inMap 经纬度 全国 全球
    SpringCloud Stream 使用
    beta阶段贡献分配实施
    20181113-3 Beta阶段贡献分配规则
    作业 20181120-3 Beta发布
    β发布:文案+美工展示博客
    Scrum立会报告+燃尽图(十一月二十七日总第三十五次):β阶段最后完善
    Beta发布——视频博客
    Scrum立会报告+燃尽图(十一月二十六日总第三十四次):上传β阶段展示视频
    Scrum立会报告+燃尽图(十一月二十五日总第三十三次):展示博客
  • 原文地址:https://www.cnblogs.com/wlming/p/14056117.html
Copyright © 2011-2022 走看看