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项的更多相关文章

  1. Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...

  2. Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

    说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...

  3. Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

    此为在网络上找来的,觉得很好! 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令来切割日志 ps -def | grep ...

  4. java集合遍历删除指定元素异常分析总结

    在使用集合的过程中,我们经常会有遍历集合元素,删除指定的元素的需求,而对于这种需求我们往往使用会犯些小错误,导致程序抛异常或者与预期结果不对,本人很早之前就遇到过这个坑,当时没注意总结,结果前段时间又 ...

  5. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  6. CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本

    说明: 我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2011_11_03.tar ...

  7. Mongodb自动备份数据库并删除指定天数前的备份

    1.创建Mongodb数据库备份目录 mkdir -p /home/backup/mongod_bak/mongod_bak_now mkdir -p /home/backup/mongod_bak/ ...

  8. MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

    MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 &l ...

  9. STL容器的遍历删除

    STL容器的遍历删除 今天在对截包程序的HashTable中加入计时机制时,碰到这个问题.对hash_map中的每个项加入时间后,用查询函数遍历hash_map,以删除掉那些在表存留时间比某个阈值长的 ...

随机推荐

  1. Android 三种方式实现自定义圆形进度条ProgressBar

    一.通过动画实现 定义res/anim/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> ...

  2. JS null问题

    在学习getElementById()方法的过程中出现了这样一个问题,便想记录下来. 分析问题之前,我们最好还是先来认识一下getElementById()方法.getElementById()方法, ...

  3. iOS常用加密方法(aes、md5、base64)

    1.代码 iOS常用加密方法(aes.md5.base64) .AES加密 NSData+AES.h文件 // // NSData-AES.h // Smile // // Created by 周 ...

  4. html中DIV+CSS与TABLE布局方式的区别及HTML5新加入的结构标签(转)

    DIV与TABLE布局的区别 div 和 table 的加载方式不同,div 的加载方式是即读即加载,遇到 <div> 没有遇到 </div> 的时候一样加载 div 中的内容 ...

  5. sparksql json 合并json数据

    java public class Demo { private static SparkConf conf = new SparkConf().setAppName("demo" ...

  6. iOS项目double、float精度丢失解决办法

    描述 在iOS项目中老是遇到double.float精度丢失的问题 PS: NSString * jsonStr = @"{\"9.70\":9.70,\"67 ...

  7. Android音频输入通道的底层硬件和软件开发分析

    Android潜在的发展音频输入通道的软硬件分析 我们都知道耳机Mic集成在一直的那种四段耳机Mic插头是Android设备上比較经常使用.可是也会有分开的情况,比較假设在普通的PC机中装Androi ...

  8. Docker简单的使用命令

    Hello World 使用[docker run]命令在docker container中执行应用程序 <pre name="code" class="plain ...

  9. node fs 文件/目录 删除

    删除文件如下: 过程:先判断文件路径是否存在.读取该文件下所有文件.循环该文件,判断是否是文件夹还是文件. 移除文件夹使用fs.rmdirSync("路径") 移除文件使用fs.u ...

  10. Android中使用sqlite3操作SQLite

    SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令.本文档提供一个样使用sqlite3的简要说明. 一.创建数据库:  1.将sqlit ...