List<> 集合 删除指定行
不多说,直接上代码
public class Name
{
public string NameInfo { get; set; }
}
删除值为Name2的行
static void Main(string[] args)
{
string[] s = new string[];
List<Name> nList = new List<Name>();
for (int i = ; i < ; i++)
{
Name n = new Name()
{
NameInfo = "Name" + i
}; nList.Add(n);
} Console.WriteLine();
var someOne = "Name2"; for (int i = ; i < nList.Count; i++)
{
if (someOne == nList[i].NameInfo)
{
nList.RemoveAt(i);
//输出下一个参数
Console.WriteLine(nList[++i].NameInfo);
}
}
for (int i =; i<nList.Count; i++)
{
Console.Write(nList[i].NameInfo + "\t");
}
Console.ReadKey();
}
仔细的同学会发现一个错误:Name2在nList<Name>是第3个即nList[2],删除之后下一个参数应该是nList[3] Name3,但是最后程序结果是Name4。
原因:当前元素被删除之后,后面的元素会自动前移一位.也就是删除Name2后nList[2]就变成Name3。
改进:逆反循环,for循环从后开始往前循环
for (int i = nList.Count - ; i >= ; i--)
{
if (someOne == nList[i].NameInfo)
{
nList.RemoveAt(i);
//输出下一个参数
Console.WriteLine(nList[--i].NameInfo);
}
}
List<> 集合 删除指定行的更多相关文章
- IOS学习之路六(UITableView滑动删除指定行)
滑动删除指定行代码如下: Controller.h文件 #import <UIKit/UIKit.h> @interface TableViewController : UIViewCon ...
- sed 删除最后几行 和删除指定行 awk使用
sed 删除最后几行 和删除指定行 转载原文链接:http://blog.51cto.com/lspgyy/1305489 sed 想删除文件中的指定行,是可以用行号指定也可以用RE来匹配的. 删 ...
- Pandas常用操作 - 删除指定行/指定列
1. 删除指定行 new_df = df.drop(index='行索引') new_df = df.drop('行索引', axis='index') new_df = df.drop('行索引', ...
- REDHAT一总复习1 vim编辑器的使用 删除所有者列 删除指定行
将文件/home/student/vimfile.txt 复制到server 上的/home/student/longlisting.txt . 根据下列要求,使用vim编辑器更改 /home/stu ...
- Linux sed命令删除指定行
一.删除包含匹配字符串的行## 删除包含baidu.com的所有行sed -i '/baidu.com/d' domain.file 二.删除匹配行及后所有行## 删除匹配20160229的行及后面所 ...
- linux删除指定行&删除行首空格&替换字符
打印并删除2~1000行 nl /etc/passwd | sed '2,1000d' |more 删除行首空格 sed -i 's/^[][ ]*//g' file 替换分隔符 说明:文件中数据是由 ...
- WPS:Excel删除指定行以后的所有行
首先定位到你的1000行,然后选中第1000行按住Shift,再同时按住Ctrl加向下的方向键,最后删除即可了.
- ASP.Net Web中Repeater怎么删除指定行
使用OnItemCommand事件 首先附上相关的代码 <asp:Repeater ID="Repeater1" runat="server" OnIte ...
- sed 删除指定行
参考:http://blog.sina.com.cn/s/blog_4ba5b45e0102e7l2.html
随机推荐
- typedef struct和struct 的区别 用途
刚刚想到的,我们在用结构体的时候会遇到'->'和'.',这是什么情况呢? 不能混用的(c和c++不同语言对它们没有影响) 我说的不能混用的意思是'.'用于结构体指针的指向......而'-& ...
- WIN32 API ------ 最简单的Windows窗口封装类
1 开发语言抉择 1.1 关于开发Win32 程序的语言选择 C还是C++ 在决定抛弃MFC,而使用纯Win32 API 开发Window桌面程序之后,还存在一个语言的选择,这就是是否使用C++.C+ ...
- java基本数据类型所占字节数
JAVA基本数据类型所占字节数是多少?(32位系统) byte 1字节 short 2字节 int 4字节 ...
- Linux命令-自动挂载文件/etc/fstab功能详解
Linux命令-自动挂载文件etcfstab功能详解 一./etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载. 系 ...
- 积分图像 分类: 图像处理 Matlab 2015-06-06 10:30 149人阅读 评论(0) 收藏
积分图像(integral image)是一种快速计算矩形区域之和的数据结构,常利用它对算法进行加速.积分图像中处的值是原始灰度图像的左上角与当前点所围成的矩形区域内所有像素点的灰度值之和,即: 其中 ...
- B/S和C/S示意图
B/S C/S
- 转 oracle apex 使用
https://wenku.baidu.com/view/e5a4226955270722182ef725.html
- 解决asp.net 以及MVC中上传文件大小限制的问题
﹤system.web﹥ ﹤httpruntime requestlengthdiskthreshold="256" maxrequestlength="2097151& ...
- POI导出时,将指定的列设置为下拉列表
本示例设置第2列为下拉框(下拉框内容为:是/否),从第5行开始到5657行结束. 关键代码示例: ComboxList = new String[]{"是","否&quo ...
- mui 时间日期控件(浏览器上无法查看,在手机端可以点击)
<head> <meta charset="utf-8"> <meta name="viewport" content=" ...