首页 > 编程知识 正文

εs/4πkd,c=λf什么意思

时间:2023-05-04 21:28:57 阅读:33049 作者:1650

如何遍历List,删除某个要素或几个要素,你的第一反应是用什么方法实现? foreach? for?

我的做法是用for倒序遍历,根据条件删除

让我们用代码演示http://www.Sina.com/,http://www.Sina.com/如何删除list数据。

class程序{ public class students } public string name { get; set; 公共int age { get; set; }公共students (string name,int age ) { this.Name=name; this.Age=age; }staticvoidmain(string[]args ) liststudentsstulist=new list students ); stulist.add(newstudents('Tom ',20 ); stulist.add(newstudents('Tang ',20 ); stulist.add(newstudents('Tang ',22 ); stu list.add (new students (' trista ',24 ); stulist.add(newstudents(Lili ),25 ); //打印名称Console.Write () (删除前) ); Foreach(varstuinstulist ) console.write ) stu.name ' ); 控制台. read key (; }打印结果: Tom Tang Tang Trista Lili

1、首先在foreach上遍历删除名字为Tang的学生。 代码如下。 Foreach(varstuinstulist ) if ) stu.name=='tang ' ) stu list.remove (stu ); } foreach

2、for正向遍历删除。 代码如下。 //打印名称Console.Write ('删除前) ); Foreach(varstuinstulist ) console.write ) stu.name ' ); //删除名称为Tang的学生for (inti=0; i stuList.Count; I () if ) stulist[I].name=='tang ' ) stulist.remove ) stulist[I]; (/)打印名称console.write ) ) (n删除后() ); Foreach(varstuinstulist ) console.write ) stu.name ' ); 打印结果:

删除前: Tom Tang Tang Trista Lili

删除后: Tom Tang Trista Lili

我只删除了一个名为Tang的学生。 为什么会发生这种事呢?

这是因为,如果i=1,则在满足条件的情况下执行删除操作时,第一个Tang将被删除,然后第二个Tang将移动到第一个Tang的位置。 也就是说,光标1对应于第二个标记。 接着遍历i=2,跳过第二个Tang。

3、用for按相反顺序遍历删除。 代码如下。 for(intI=stulist.count-1; i=0; I--}{if(stulist[I].name=='tang ' ) (stulist.remove ) stulist[I]; }打印结果:

删除前: Tom Tang Tang Trista Lili

删除后: Tom Trista Lili

for

希望这篇文章对你有帮助,抛砖引玉,如果你有更好的方法解决这个问题,请在评论中分享~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。