• C# List


    List

    List T是list里面的元素类型,编译器会检查你添加进list里的元素类型对不对,不对的话会报错,换句话说,List 是类型安全的
    List<string> listOfStrings = new List<string>();
    List很像Array(他们俩好像都是通过IList接口来实现的),但是大多数情况下,list比Arrays好用
      比如 不用指定元素个数,随便加,加完以后 .Net会自动帮我们修正个数的,但是要注意添加的item的类型必须是T代表的类型

    初始化

    同样是用花括号 多元素之间用逗号隔开

    上面这个例子和上一节的Arrays 的例子差不多结构,注意 List 的使用


    Adding 添加元素
    Insert (index,item) 在指定的位置插入元素,原来的元素和后面所有元素 都往后挪一位
    AddRange(xxx) xxx可以是任意类型的集合 数组或者list都行(当然元素的数据类型还是得一样,string对string,int对int)
    InsertRange(index,xxx)xxx参考上面

    Remove(”John”) 从头开始找John,找到就从list里扔掉他,找不到也不报错,返回值TRUE表示扔掉了,FALSE表示没扔掉
    RemoveAt(0) 扔掉第一个元素   RemoveAt (listOfNames.Count - 1) 扔掉最后一个元素 。
      这个如果你提供了不正常的index是会报错的,比如负值或者超过长度的索引值,函数没有返回值
      如果要知道成功没成功就得用try catch 去检查Count有没有变化了
    RemoveAll() 最复杂也是最强大的remove功能了,他用一个函数的委托delegate 作为参数,在这个函数了我们可以定义自己的remove逻辑,可以一次性的remove多个item
    这个例子 逻辑就是移除开头字母是J的item

    RomoveAll 用一个 匿名方法 作为参数,这个匿名方法 会应用到每个item,应用的时候参数name其实就是每个item,判断是不是J开头然后返回True False
      根据TRUE or False 来判断是不是要移除这个item

    Sort() 排序功能
    Reverse() 翻转,头变尾,尾变头

    List 和 List 都可以排序,这是 .Net 自带的,自定义的List 如何排序呢?
      使用 IComparable接口 或者 用LINQ 或者根据item性质写一个比较函数(Sort 也可以接受一个比较函数的委托 )

    这里的 CompareUser 就是个比较函数。我感觉和上面的Remove 的委托函数参数类似
    比较两个数的大小,返回值 smaller same bigger (-1 0 1)然后sort 就可以根据这个值来上下排序

  • 相关阅读:
    ApacheServer-----关于443端口被占用的解决方法
    《小强与小明》——正在疯传的伟大的故事
    不争万年,只珍朝夕------我的态度
    dubbo搭建
    使用netty的第一个Hello World
    myBatis数据库常用标签
    mysql 索引
    tomcat部署项目的一点心得
    【康托展开】
    初探计算机硬盘
  • 原文地址:https://www.cnblogs.com/springbrotherhpu/p/11558725.html
Copyright © 2020-2023  润新知