分割List集合

//构造被分隔的集合
List<object> list = new List<object>();
for (int i = ; i <= ; i++)
{
list.Add(i);
} //待导入集合组
List<IEnumerable<object>> BigList = new List<IEnumerable<object>>();
//定义批次分组提交量
int groupItemCount = ;
//被分隔集合的总数量
int totalCount = list.Count();
//一共被分几组
int count = totalCount % groupItemCount == ? totalCount / groupItemCount : totalCount / groupItemCount + ;
//将每一组都添加进大集合
for (int i = ; i < count; i++)
{
BigList.Add(list.Skip(groupItemCount * i).Take(groupItemCount)); }
foreach (IEnumerable<object> enumList in BigList)
{
//每一个enumList都一个10个int数据的集合
foreach (int a in enumList)
{
//dosomething
}
}
 public static IList<List<T>> ListCut<T>(IList<T> list, int everyCount)
{
//待导入集合组
IList<List<T>> BigList = new List<List<T>>();
//被分隔集合的总数量
int totalListCount = list.Count();
//一共被分几组
int count = totalListCount % everyCount == ? totalListCount / everyCount : totalListCount / everyCount + ;
//将每一组都添加进大集合
for (int i = ; i < count; i++)
{
BigList.Add(list.Skip(everyCount * i).Take(everyCount).ToList());
} return BigList;
}
从string[]转list<string>
string[] str={"",""};
list<string> list=new list<string>(str); 从list<string>转string[]
list<string> list=new list<string>;
string[] str=list.toarray();

去除数组中的 null

tableHeadNameArr = (from str in tableHeadNameArr where str != null select str).ToArray();

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()的区别:
) AsEnumerable()是 LINQ TO OBJECT,AsQueryable()是 LINQ TO SQL
) AsEnumerable将一个序列向上转换为一个IEnumerable, 强制将Enumerable类下面的查询操作符绑定到后续的子查询当中。AsQueryable将一个序列向下转换为一个IQueryable, 它生成了一个本地查询的IQueryable包装。
) AsEnumerable()延迟执行,不会立即执行。当你调用.AsEnumerable()的时候,实际上什么都没有发生。当真正使用对象的时候(例如调用:First, Single, ToList....的时候)才执行。
) .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);

List集合实战总结的更多相关文章

  1. 高可用Redis(四):列表,集合与有序集合

    1.列表类型 1.1 列表数据结构 左边为key,是字符串类型 右边为value,是一个有序的队列,与python的列表结构相同 可以在Redis中对列表的value进行如下操作 从左边添加元素 从右 ...

  2. 第一章:AI人工智能 の 数据预处理编程实战 Numpy, Pandas, Matplotlib, Scikit-Learn

    本课主题 数据中 Independent 变量和 Dependent 变量 Python 数据预处理的三大神器:Numpy.Pandas.Matplotlib Scikit-Learn 的机器学习实战 ...

  3. 如何自学 Java 开发

    如何自学 Java 开发? 568赞同反对,不会显示你的姓名 李艾米IT路上学习 568 人赞同 Java Web前端技术 HTML 入门视频课程 1 HTML 简介 2 HTML基本结构[ 3 HT ...

  4. 【转】如何使用MAT分析内存泄漏

    原文链接:http://www.lightskystreet.com/2015/09/01/mat_usage/ MAT - Memory Analyzer Tool 使用进阶 Sep 1, 2015 ...

  5. DOM4J对于XML的用法

    一.基本使用方式     语法     1.获取根元素 Element root = document.getRootElement();     2.获取某个元素下的子元素 Element db_e ...

  6. Autofac依赖注入

    简介 Autofac 是一款超赞的.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 .它的实现方式是将常规的.net类当做 组件 处理. ...

  7. 【ASP.NET实战教程】ASP.NET实战教程大集合,各种项目实战集合

    [ASP.NET实战教程]ASP.NET实战教程大集合,各种项目实战集合,希望大家可以好好学习教程中,有的比较老了,但是一直很经典!!!!论坛中很多小伙伴说.net没有实战教程学习,所以小编连夜搜集整 ...

  8. 8-Python3从入门到实战—基础之数据类型(集合-Sets)

    Python从入门到实战系列--目录 集合的定义 集合(set)和字典类似,也是一组key的集合,但不存储value:由于key不能重复,所以,在set中,没有重复的key. 创建一个set,需要提供 ...

  9. Scala实战高手****第6课 :零基础实战Scala集合操作及Spark源码解析

    本课内容1.Spark中Scala集合操作鉴赏2.Scala集合操作实战 --------------------------------------------------------------- ...

随机推荐

  1. BC水题--The Factor(质因分解)

    网址:http://acm.hdu.edu.cn/showproblem.php?pid=5428 roblem Description There is a sequence of n positi ...

  2. (转)如果知道dll文件是面向32位系统还是面向64位系统的?

    本文为转载文章,原文地址:http://www.cnblogs.com/qguohog/archive/2011/09/13/2174897.html,仅仅是记录供后续使用,如有侵权请通知删除. 在发 ...

  3. ARM的QT phonon 的移植

    Phonon是QT提供的一套多媒体框架,提供多媒体播放图形界面和回放的功能,QT也是通过phonon来实现跨平台的多媒体播放.应用程序不需要关心多媒体播放到底是由什么实现的(如gstreamer.xi ...

  4. Python安装Selenium3

    概述 2016.10.13,Selenium3.0正式发布,官方说明如下: The major change in Selenium 3.0 is we're removing the origina ...

  5. 队列理论和队列网络模型 queueing theory and queueing network model

    1队列理论 1.1队列在生活中随处可见,例如排队买票,排队打饭,排队做地铁等等.那将诸如此类的队列抽象一下,可归纳为一下5要术: 到达过程arrival process 服务时间的分布 service ...

  6. LoadRunner界面分析(三)

    1.Anaysis基础知识 2.Analysis 报告 3.Analysis分析基础 4.IP欺骗 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候 ...

  7. Android开发-API指南-Manifest介绍

    App Manifest 英文原文:http://developer.android.com/guide/topics/manifest/manifest-intro.html 采集(更新)日期:20 ...

  8. jquery zTree 查找所有的叶子节点

    jquery zTree 查找所有的叶子节点 // 保存所有叶子节点 10 为初始化大小,并非数组上限 var arrayObj = new Array([10]); /* treeNode: 根节点 ...

  9. mac下的一些常识

    1,环境变量 EddydeMacBook-Pro:~ eddy$ vi ~/.bash_profile EddydeMacBook-Pro:~ eddy$ vim /etc/profile Eddyd ...

  10. 改变ListCtrl某行的背景色或者字体颜色

    大家也许熟悉WM_NOTIFY,控件通过WM_NOTIFY向父窗口发送消息.在WM_NOTIFY消息体中,部分控件会发送NM_CUSTOMDRAW告诉父窗口自己需要绘图. 也可以反射NM_CUSTOM ...