Unity3D C# 学习List数据类型的使用
阅读原文时间:2023年09月29日阅读:1

List类是ArrayList 类的泛型等效类。 该类使用大小可按需动态增加的数组实现

泛型的好处: 它为使用 c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。

一、  List的基础、常用方法:  

1、List mList = new List();        

  a.T为列表中元素类型,现在以string类型作为例子     

  如:  List mList = new List();    

  b.增加元素:List. Add(T item)

  如:mList.Add("进击的皮卡丘");    

  c.插入元素:Insert(int index, T item);    在index位置添加一个元素     

  如:mList.Insert(1, "AdvancePikachu");     

  d.删除元素:

    List. Remove(T item)       删除一个值

    如:mList.Remove("进击的皮卡丘"); 

    List. RemoveAt(int index);   删除下标为index的元素 
    如:mList.RemoveAt(0);

     List. RemoveRange(int index, int count);   从下标index开始,删除count个元素

    如:mList.RemoveRange(3, 2); //超出删除的范围会出错

  注:删除某元素后,其后面的元素下标自动跟进

  e.判断是否存在List:List. Contains(T item)   得到的结果是返回true或false

  f.排序:

    List. Sort ()   //默认是元素第一个字母按升序

    List. Reverse ()   //给List里面元素顺序反转

  g.遍历List中元素:

_fo_reach (T element in mList)  T的类型与mList声明时一样 

    { 
      Console.WriteLine(element); 
     }

  h.List清空:List. Clear ()

  如:mList.Clear();

  i.获得List中元素数目:

   如:List. Count   返回int值

  j.添加数组进List:

  如:string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", " "Locu" };

    mList.AddRange(temArr);

2、List testList =new List (IEnumerable collection);     以一个集合作为参数创建List

如: string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };

  List testList = new List(temArr);

3、List与数组的相互转换

  a.从string[]转List

  如:string[] str={“1”,”2”};

    List list=new List(str);

  b.从List转string[]

  如:List list=new List;

    String[] str=list.ToArray();

  c.ViewState["idlist"]转换成List<>

  如:List idlist=(List)ViewState["idlist"]