List遍历删除 或取指定的前N项
class Program
{
static void Main(string[] args)
{
/*
* List遍历删除 或取指定的前N项
*/
List<PerSon> listPer = CreateListPer(); // 1、输出项
Console.WriteLine("输出listPer项");
foreach (PerSon per in listPer)
{
Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
} //2、删除15条之后的数据
//遍历删除索引大于50的项
//将listPer的项复制到listPerTemp里面 如果直接用“=”的话,listPerTemp删除索引大于15的项,listPer大于15的项也会删掉
List<PerSon> listPerTemp = new List<PerSon>(listPer.ToArray());
//这将复制listPer中的所有项目到listPerTemp
//listPer.ForEach(i => listPerTemp.Add(i));
listPer.ForEach(i => listPerTemp.Add(i));
for (int i = listPerTemp.Count - ; i >= ; i--)
{
if (i >= )
{
listPerTemp.RemoveAt(i);
}
}
Console.Write("\n");
// 3、输出项
Console.WriteLine("输出listPerTemp项");
foreach (PerSon per in listPerTemp)
{
Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
} //
Console.Write("\n");
Console.WriteLine("输出listPer项");
foreach (PerSon per in listPer)
{
Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
} Console.Write("\n");
//除了用移除的方法获取索引小于15的项,还可以用.take(15);
var result = from r in listPer
select r; result = result.Take();
foreach (var c in result)
{
Console.WriteLine("Id:" + c.Id + " Name:" + c.name);
} Console.Write("\n");
//或者直接take
listPer = listPer.Take().ToList();
foreach (PerSon per in listPer)
{
Console.WriteLine("Id:" + per.Id + " Name:" + per.name);
}
Console.ReadKey();
} private static List<PerSon> CreateListPer()
{
List<PerSon> listper = new List<PerSon>();
PerSon per = new PerSon();
for (int i = ; i <= ; i++)
{
per = new PerSon();
per.Id = i;
per.name = "N-" + i;
listper.Add(per);
} return listper;
}
} public class PerSon
{
/// <summary>
/// 编号
/// </summary>
public int Id { get; set; } /// <summary>
/// 名称
/// </summary>
public string name { get; set; }
}
List遍历删除 或取指定的前N项的更多相关文章
- Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
说明: 1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...
- Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录
此为在网络上找来的,觉得很好! 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令来切割日志 ps -def | grep ...
- java集合遍历删除指定元素异常分析总结
在使用集合的过程中,我们经常会有遍历集合元素,删除指定的元素的需求,而对于这种需求我们往往使用会犯些小错误,导致程序抛异常或者与预期结果不对,本人很早之前就遇到过这个坑,当时没注意总结,结果前段时间又 ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本
说明: 我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2011_11_03.tar ...
- Mongodb自动备份数据库并删除指定天数前的备份
1.创建Mongodb数据库备份目录 mkdir -p /home/backup/mongod_bak/mongod_bak_now mkdir -p /home/backup/mongod_bak/ ...
- MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)
MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 &l ...
- STL容器的遍历删除
STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题.对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的 ...
随机推荐
- MySQL 备份错误日志
MySQL 备份错误日志: shell> mv host_name.err host_name.err-old shell> mysqladmin -u root -p flush-l ...
- xCode中怎样保存自己的代码块
在开发iOS的过程中.xCode肯定是用得最多的工具.没有之中的一个.由于苹果官方提供的就这一个平台,尽管没有竞争对手,但秉承苹果一贯的注重细节的原则,xCode还是一款相当不错的IDE. 作为一名i ...
- Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(下)
原文:Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(下) 接着上篇... 接下去,将一步步演示如果创建当点击checkBox后,其中的按钮由左边滑动到右边,表示处于 ...
- 使用JSONlib简单的转换json操作
在使用jsonlib操作之前 需要引入json及5个依赖包,依赖包版本不能最新,lang与collections有不兼容现象. 官方地址:http://json-lib.sourceforge.net ...
- 简单易用的动画animations
_tableView_selc.frame=CGRectMake(20, , 20,20); [UIView animateWithDuration:0.3f animations:^{ _table ...
- 学习鸟哥的Linux私房菜笔记(13)——用户管理
一.检查用户身份 用户可以使用下列指令了解用户身份 who :查询当前在线的用户 groups :查询用户所属组 id :显示当前用户信息 finger :查询用户信息 二.添加用户 用指令添加命令 ...
- [GeekBand] C++继承关系下虚函数内存分布
本文参考文献:GeekBand课堂内容,授课老师:侯捷 :深度探索C++对象模型(侯捷译) :网络资料,如:http://blog.csdn.net/sanfengshou/article/detai ...
- tensorflow 函数接口的理解
1. tf.nn.softmax tf.nn.softmax(logits, dim=-1, name=None) w*x+b ⇒ logits softmax 函数执行的操作:exp(logits) ...
- .net remoting 使用事件
原文:.net remoting 使用事件 在RPC如果需要使用事件,相对是比较难的.本文告诉大家如何在 .net remoting 使用事件. 目录 使用 Channel 序列化 开发建议 修复异常 ...
- cordova打包之android应用签名
原文:cordova打包之android应用签名 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mate_ge/article/details/78 ...