zoukankan      html  css  js  c++  java
  • C# List常识之经常被忽略的常识

      最近在接收前辈的代码,越来越会发现有很多.net已经封装好的方法可以使用,我们却不知道,然后自己去For/Foreach循环解决自己的需求问题

      总的来说:当下很忧伤啊。总结了几个经常需要用却不知道的方法,如下:

    1.Range-AddRange/InsertRange

      需求:对ListA进行添加ListB的内容

                    ///经常见到的 循环添加
                    foreach (Point item in ListB)
                    {
                        this.ListA.Add(item);
                    }
                    ///AddRange方法
                    this.this.ListA.AddRange(ListB);
                    ///InsertRange方法
                    this.this.ListA.InsertRange(2, ListB);

    2.获取Item的属性最大值

      需求:获得List列表中属性最大值的元素

               ///经常看到的
                id = 1;
                foreach (Point p in this.Points)
                {
                    if (p.Id > id)
                    {
                        id = p.Id;
                    }
                }
                var maxValue = Points.FirstOrDefault(p => p.Id == id);
               ///Max方法
                var maxValue = Points.Max(x => x.Id);

    3.Converter方法

      需求:List<ClassA>转换为List<ClassB>

               ///常见的
                var ListA = new List<Point>();
                var ListB = new List<Rect>();
                foreach (var item in ListA)
                {
                    var itemb = new Rect();
                    itemb.X = item.X;
                    itemb.Y = item.Y;
                    ListB.Add(itemb);
                }
                ///Converter方法
                Converter<Point, Rect> converter = delegate (Point point)
                {
                    return new Rect { X = point.X, Y = point.Y };
                };
                ListB = ListA.ConvertAll<Rect>(converter);

    4.找时间翻翻List源码拿出来看看,先挖个坑

  • 相关阅读:
    JAVA 分布式
    Spring Boot -01- 快速入门篇(图文教程)
    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
    Vue 框架-12-Vue 项目的详细开发流程
    Vue 框架-11-介绍src文件流程及根组件app+HBuilder 配置
    Vue 框架-10-搭建脚手架 CLI
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/Khan-Sadas/p/10045367.html
Copyright © 2011-2022 走看看