技术小站8

网站首页 产经 > 正文

c列表

2022-11-23 03:31:37 产经 来源:
导读 大家好,小豆豆来为大家解答以上的问题。c列表这个很多人还不知道,现在让我们一起来看看吧!1、这样写:List points = new List();List

大家好,小豆豆来为大家解答以上的问题。c列表这个很多人还不知道,现在让我们一起来看看吧!

1、这样写:List points = new List();List的基础、常用方法:声明: List mList = new List(); T为列表中元素类型,现在以string类型作为例子E.g.:List mList = new List();2、List testList =new List (IEnumerable collection);以一个集合作为参数创建ListE.g.:string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };List testList = new List(temArr);添加元素: List. Add(T item) 添加一个元素E.g.:mList.Add("John");2、 List. AddRange(IEnumerable collection) 添加一组元素E.g.:string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };mList.AddRange(temArr);3、Insert(int index, T item); 在index位置添加一个元素E.g.:mList.Insert(1, "Hei");遍历List中元素:foreach (T element in mList) T的类型与mList声明时一样{Console.WriteLine(element);}E.g.:foreach (string s in mList){Console.WriteLine(s);}删除元素: List. Remove(T item)删除一个值E.g.:mList.Remove("Hunter");2、 List. RemoveAt(int index); 删除下标为index的元素E.g.:mList.RemoveAt(0);3、 List. RemoveRange(int index, int count);从下标index开始,删除count个元素E.g.:mList.RemoveRange(3, 2);判断某个元素是否在该List中:List. Contains(T item) 返回true或false,很实用E.g.:if (mList.Contains("Hunter")){Console.WriteLine("There is Hunter in the list");}else{mList.Add("Hunter");Console.WriteLine("Add Hunter successfully.");}给List里面元素排序:List. Sort () 默认是元素第一个字母按升序E.g.:mList.Sort();给List里面元素顺序反转:List. Reverse () 可以与List. Sort ()配合使用,达到想要的效果E.g.:mList.Sort();List清空:List. Clear () E.g.: mList.Clear();获得List中元素数目:List. Count () 返回int值E.g.:int count = mList.Count();Console.WriteLine("The num of elements in the list: " +count);2、List的进阶、强大方法:举例用的List:string[] temArr = { Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", " "Locu" };mList.AddRange(temArr);List.Find 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的第一个匹配元素。

2、 public T Find(Predicate match);Predicate是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。

3、当前 List 的元素被逐个传递给Predicate委托,并在 List 中向前移动,从第一个元素开始,到最后一个元素结束。

4、当找到匹配项时处理即停止。

5、Predicate 可以委托给一个函数或者一个拉姆达表达式:委托给拉姆达表达式:E.g.:string listFind = mList.Find(name => //name是变量,代表的是mList{ //中元素,自己设定if (name.Length > 3){return true;}return false;});Console.WriteLine(listFind); //输出是Hunter委托给一个函数:E.g.:string listFind1 = mList.Find(ListFind); //委托给ListFind函数Console.WriteLine(listFind); //输出是HunterListFind函数: public bool ListFind(string name){if (name.Length > 3){return true;}return false;}这两种方法的结果是一样的。

6、List.FindLast 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的最后一个匹配元素。

7、 public T FindLast(Predicate match);用法与List.Find相同。

8、List.TrueForAll方法: 确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹配。

9、public bool TrueForAll(Predicate match);委托给拉姆达表达式:E.g.:bool flag = mList.TrueForAll(name =>{if (name.Length > 3){return true;}else{return false;}});Console.WriteLine("True for all: "+flag); //flag值为false委托给一个函数,这里用到上面的ListFind函数:E.g.:bool flag = mList.TrueForAll(ListFind); //委托给ListFind函数Console.WriteLine("True for all: "+flag); //flag值为false这两种方法的结果是一样的。

10、List.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素。

11、public List FindAll(Predicate match);E.g.:List subList = mList.FindAll(ListFind); //委托给ListFind函数foreach (string s in subList){Console.WriteLine("element in subList: "+s);}这时subList存储的就是所有长度大于3的元素List.Take(n): 获得前n行 返回值为IEnumetable,T的类型与List的类型一样E.g.:IEnumerable takeList= mList.Take(5);foreach (string s in takeList){Console.WriteLine("element in takeList: " + s);}这时takeList存放的元素就是mList中的前5个List.Where方法:检索与指定谓词所定义的条件相匹配的所有元素。

12、跟List.FindAll方法类似。

13、E.g.:IEnumerable whereList = mList.Where(name =>{if (name.Length > 3){return true;}else{return false;}});foreach (string s in subList){Console.WriteLine("element in subList: "+s);}这时subList存储的就是所有长度大于3的元素List.RemoveAll方法:移除与指定的谓词所定义的条件相匹配的所有元素。

14、public int RemoveAll(Predicate match);E.g.:mList.RemoveAll(name =>{if (name.Length > 3){return true;}else{return false;}});foreach (string s in mList){Console.WriteLine("element in mList: " + s);}这时mList存储的就是移除长度大于3之后的元素。

15、List 是一个泛型链表...T表示节点元素类型比如List intList;表示一个元素为int的链表intList.Add(34); //添加intList.Remove(34);//删除intList.RemoveAt(0); //删除位于某处的元素intList.Count; //链表长度还有Insert,Find,FindAll,Contains等方法,也有索引方法 intList[0] = 23;1.减少了装箱拆箱2.便于编译时检查数据类型List 就相当于 System.Collections命名空间里面的List。

本文到此分享完毕,希望对大家有所帮助。


版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。


标签:




热点推荐
热评文章
随机文章