List数组

时间:2022-10-08 16:17:54

    大家好,我是蜀云泉。我的博文之中存在的不足之处希望大家包涵。

    今天学习unity时,在实现某个功能的脚本中发现了List数组。关于List数组的问题我在学C#时已经接触了一点,但是我比较粗心和浮躁以前学的已经忘的差不多啦,所以今天抽空研究了一下,为了大家更好的理解,我将使用C#的方式来讲,下面我们切入正题:

   一、声明方式:

    第一种声明方式:

1    List<string> mylist = new List<string>();

    第二种声明方式:

    string[] a = {"","","","" };
List<string> mylist = new List<string>(a);

    可以看到这两种方式都是差不多的,只不过第二种在声明时顺便赋了初值而已,list<string>这个尖括号里面的是这个数组的类型,可以是string,int,double,还可以是类名,以类名为类型的方式在unity中会经常用到。

   二、增:

    增加有三种方式,第一种是增加一个:

1   mylist.Add("");

        第二种是直接增加一群:   

    string[] b = {"蜀","云","泉"};
mylist.AddRange(b);

    第三种是插入:

    mylist.Insert(,"hello");

    这种增的方式有点特别,在下标为1的地方插入一个"hello",原来在mylist[1]的字符被挤到mylist[2]啦,哈哈,是不是有点鸠占鹊巢的味道。

   三、删:

    删除也有三种方式,第一种删除一个:  

     mylist.Remove("");

    第二种删除下标为*的元素: 

     mylist.RemoveAt();

    第三种删除是从*下标开始删除*个元素:   

1     mylist.RemoveRange(,);

    这是从mylist[1]开始删除,删除两个元素,也就是说mylist[1],mylist[2]位置上的元素被删除掉了,后面的元素会补上来。

   四、遍历:

    遍历很简单啦,和C#中的数组遍历是一模一样的 

     foreach (string j in mylist) {
Console.WriteLine(j);
}

   五、查:

    在mylist中查找某个元素:  

    if(mylist.Contains(""))
Console.WriteLine("有4这个元素");

   六、顺序:

    升序时如果是int的话就是从小到大排序的,代码如下: 

   int[] b = new int[] {,,, };
  List<int> bj = new List<int>(b);
  bj.Sort(); 5   foreach (int j in bj) {
Console.WriteLine(j);
  }

    效果图如下:

    List数组

    升序时如果你的List还是string类型的话会根据首字母进行排序,代码如下:  

    string[] a = {"a啊","q泉","y云","c柴" };
List<string> mylist = new List<string>(a);
mylist.Sort(); foreach (string j in mylist) {
Console.WriteLine(j);
}

    效果图:

    List数组

    但如果你的string数组是纯汉字就没办法了。。。。

    反转,就是把你现在的list的顺序给颠倒过来,注意这不是降序。直接上代码:

    mylist.Reverse();

    降序 ,降序很好实现,把你的list先升序,再反转就好了,这里不多说。

    七、清空和数目:

    清空:

    mylist.Clear();

    数目:

   mylist.Count();

   八、总结:

    好了,list数组的问题现在告一段落吧,希望对需要的人有些帮助。我要去准备下一个问题了,呵呵,生活就是这样,有无数的难题在等待着你,如果放任不管,说不定哪天就成为你最大的敌人,正对它们就是为自己的明天负责。再见。