c# linq 汇总

2021-03-22 21:26

阅读:334

标签:cti   超过   add   als   findall   false   性能   停止   ast   

例子:List list = new List();

list.Add("1 a");
list.Add("2 b");
list.Add("3 c");
list.Add("4 d");
list.Add("5 e");

添加元素:

一:List.Add(T item)    如  list.Add("5 e");
二: List. AddRange(IEnumerable collection)   添加一组元素  

     string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };
     list.AddRange(temArr);

三:Insert(int index, T item);    在index位置添加一个元素  如:list.Insert(0, "1 aa");

删除元素:

一: List. Remove(T item) 删除一个值
    如:list.Remove("Hunter");
二: List.RemoveAt(int index); 删除下标为index的元素
   如:mList.RemoveAt(0);
三: List.RemoveRange(int index, int count);
  从下标index开始,删除count个元素
   如:list.RemoveRange(3, 2);

 

判断某个元素是否在该List中:list集合与某元素相等

List. Contains(T item)  如:list.Contains("1 a") 结果true,  list.Contains("1") 结果false

List.Find  搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的第一个匹配元素  返回T

Predicate是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。当前 List 的元素被逐个传递给Predicate委托,并在 List 中向前移动,从第一个元素开始,到最后一个元素结束。当找到匹配项时处理即停止。

Predicate 可以委托给一个函数或者一个拉姆达表达式:
委托给拉姆达表达式:
E.g.:
string listFind = mList.Find(name => //name是变量,代表的是mList
{ //中元素,自己设定
if (name.Length > 3)
{return true;}return false;});

List.FindLast 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的最后一个匹配元素。
public T FindLast(Predicate match);

List.TrueForAll方法:  确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹配。
 public bool TrueForAll(Predicate match);

List.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素。
public List FindAll(Predicate match);

如list.FindAll(o => o.Split(‘ ‘)[0] == "2" && o.Split(‘ ‘)[0] == "1")  返回值 list[0]="1 a",list[1]="2 b"

List.Any方法 List.Contains  List.Exists
性能方面:Contains 优于 Exists 优于 Any

Capacity 是列表之前设定的容量值;
Count 是实际的元素个数。
Capacity 总是大于或等于 Count,当 Count 超过 Capacity 后,又自动扩容以装下新的元素。

c# linq 汇总

标签:cti   超过   add   als   findall   false   性能   停止   ast   

原文地址:https://www.cnblogs.com/huang34/p/9475953.html


评论


亲,登录后才可以留言!