zoukankan      html  css  js  c++  java
  • List<T> 删除指定元素

    不能用的方法

    • 不能使用Foreach遍历
    • 不能使用for正序遍历

    常用的方法有三种:

    • 一、使用for 倒序删除
    • 二、使用 linq where方法
    • 三、使用 RemoveAll方法

    测试代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace List删除元素几种方式
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<string> list = new List<string>() {
                    "刘德华",
                    "张学友",
                    "刘德华",
                    "刘德华",
                };
    
                Console.WriteLine("原数据:");
    
                foreach (var item in list)
                {
                    Console.WriteLine(item);
                }
                Console.WriteLine("
    ");
    
                /** 下面使用几种不同的方法删除刘德华 **/
    
                //使用 linq where方式
                List<string> list1= list.Where(x => x != "刘德华").ToList();
    
                Console.WriteLine("方案一(使用linq where)删除“刘德华”:");
    
                foreach (var item in list1)
                {
                    Console.WriteLine(item);
                }
    
                List<string> list2 = list;
    
                //使用 linq RemoveAll
                list2.RemoveAll(x => x == "刘德华");
    
                Console.WriteLine("
    ");
                Console.WriteLine("方案二(使用 RemoveAll)删除“刘德华”:");
                foreach (var item in list2)
                {
                    Console.WriteLine(item);
                }
    
                List<string> list3 = list;
                //使用 for 倒序
                for (int i = list3.Count-1; i >0; i--)
                {
                    if (list3[i] == "刘德华") list3.RemoveAt(i);
                }
    
                Console.WriteLine("
    ");
                Console.WriteLine("方案二(for倒序遍历)删除“刘德华”:");
                foreach (var item in list3)
                {
                    Console.WriteLine(item);
                }
    
                Console.ReadKey();
    
            }
        }
    }

    测试结果:

  • 相关阅读:
    [转]zxing二维码的生成和解码 j2se
    [转]Android的网络与通信
    (转)Firefox:浏览器内置数据库之路
    dom Framework oop模块
    我的框架 别名机制
    获取屏幕的PDI值
    mass Framework lang模块
    王云飞 《绿色生活》(附译文)
    dom Framework query模块
    dom Framework核心模块发布!(更新)
  • 原文地址:https://www.cnblogs.com/shingkwan/p/10154474.html
Copyright © 2011-2022 走看看