C#遍历集合与移除元素的方法_C#教程

本文实例讲述了C#遍历集合与移除元素的方法。分享给大家供大家参考,具体如下:

如果用foreach,会造成被遍历的集合更改后带来异常问题。

此时,用for循环可有效的解决这个问题。

for(int i=0;i<List.Count;i++)
{
 if(条件是真)
 {
 List.Remove(List[i]);
 i--;
 }
}

或者,再用另外的一个List集合存储要删除的对象。

List<T> newlists=new List<T>();
foreach(T t in List)
{
 lists.add(t);
}
foreach(T t in newlists)
{
 List.Remove(t);
}

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#遍历算法与技巧总结》、《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, 遍历
, 集合
移除元素
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-09-03 13:58:06

C#遍历集合与移除元素的方法_C#教程的相关文章

C#集合遍历时删除和增加元素的方法_C#教程

本文实例讲述了C#集合遍历时删除和增加元素的方法.分享给大家供大家参考,具体如下: 大多数时候,遍历集合元素的时候并不需要对元素进行增加或者删除操作,但有些时候则需要,比如,如果集合中盛放的元素是社会上所有的人,那么有人死亡则元素删除,有人出生则是集合元素的增加.对于这种情况,遍历不能按照原来那种方式去做了,而且C#中的集合对于这类有增删动作的遍历,也不支持foreach循环. 有三种办法可以解决这一问题. 第一种方法:使用C#的LinkedList<>双链表.我原来设想,把原来链表需要删除的

WPF中的ListBox实现按块显示元素的方法_C#教程

本文实例讲述了WPF中的ListBox实现按块显示元素的方法.分享给大家供大家参考,具体如下: 注意:需要设置ListBox的属性 ScrollViewer.HorizontalScrollBarVisibility="Disabled" 关键代码,WPF中有内置的WrapPanel控件,在ListBox.ItemsPanel中使用可以让元素按块显示 <ListBox.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/

WinForm遍历窗体所有子控件的方法_C#教程

本文实例讲述了WinForm遍历窗体所有子控件的方法.分享给大家供大家参考,具体如下: /// <summary> /// C# 只遍历控件子控件,不遍历孙控件 ///当控件有子控件时,需要用递归的方法遍历,才能全部列出控件上的控件 /// </summary> /// <typeparam name="T">控件类型</typeparam> /// <param name="control">要遍历的控件

Lua table中安全移除元素的方法_Lua

在Lua中,table如何安全的移除元素这点挺重要,因为如果不小心,会没有正确的移除,造成内存泄漏. 引子 比如有些朋友常常这么做,大家看有啥问题 将test表中的偶数移除掉 复制代码 代码如下: local test = { 2, 3, 4, 8, 9, 100, 20, 13, 15, 7, 11} for i, v in ipairs( test ) do     if v % 2 == 0 then         table.remove(test, i)     end end fo

C#中判断一个集合是否是另一个集合的子集的简单方法_C#教程

看到这个标题,我们首先想到的是循环遍历其中一个数组,判断数组中的每个元素是否都在另一个数组中出现了,以此来判断该数组是不是另一个数组的子集,但是这样做就太过复杂了,有没有简单一点的方法呢? 打个比方,有这样的两个集合: 复制代码 代码如下: string[] bigArr = new string[] { "a", "b", "c" }; string[] smallArr = new string[] { "a", &quo

C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法_C#教程

在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况.之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数.但是后来接触反射后,就知道可以利用反射去读取一个类型的所有成员,也就意味着可以替不同的类型,创建更通用的方法.这个例子是这样做的:利用反射,读取一个类型的所有属性,然后再把属性转换成XML元素的属性或者子元素.下面注释比较完整,就话不多说了,有需要看代码吧! using System; using System.Collections.Generic;

C#中把任意类型的泛型集合转换成SQLXML数据格式的实例_C#教程

话不多说,跟着小编一起来看下吧 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlTypes; using System.Data; using System.Reflection; using System.IO; using System.Xml; namespace CollectionToXml { class Program

C#实现集合转换成json格式数据的方法_C#教程

本文实例讲述了C#实现集合转换成json格式数据的方法.分享给大家供大家参考,具体如下: /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static string ToJson(DataTable dt) { if (dt != null

C#简单遍历指定文件夹中所有文件的方法_C#教程

本文实例讲述了C#简单遍历指定文件夹中所有文件的方法.分享给大家供大家参考,具体如下: C#遍历指定文件夹中的所有文件: DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(NextFolder.Name); //遍历文件 foreach(F