C#中List用法

//List的方法和属性 方法或属性 作用
//Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可
//以调用trin()方法来减少容量以适合实际的元素数目。
//Count 属性,用于获取数组中当前元素数量
//Item( ) 通过指定索引获取或设置元素。对于List类来说,它是一个索引器。
//Add( ) 在List中添加一个对象的公有方法
//AddRange( ) 公有方法,在List尾部添加实现了ICollection接口的多个元素
//BinarySearch( ) 重载的公有方法,用于在排序的List内使用二分查找来定位指定元素.
//Clear( ) 在List内移除所有元素
//Contains( ) 测试一个元素是否在List内
//CopyTo( ) 重载的公有方法,把一个List拷贝到一维数组内
//Exists( ) 测试一个元素是否在List内
//Find( ) 查找并返回List内的出现的第一个匹配元素
//FindAll( ) 查找并返回List内的所有匹配元素
//GetEnumerator( ) 重载的公有方法,返回一个用于迭代List的枚举器
//Getrange( ) 拷贝指定范围的元素到新的List内
//IndexOf( ) 重载的公有方法,查找并返回每一个匹配元素的索引
//Insert( ) 在List内插入一个元素
//InsertRange( ) 在List内插入一组元素
//LastIndexOf( ) 重载的公有方法,,查找并返回最后一个匹配元素的索引
//Remove( ) 移除与指定元素匹配的第一个元素
//RemoveAt( ) 移除指定索引的元素
//RemoveRange( ) 移除指定范围的元素
//Reverse( ) 反转List内元素的顺序
//Sort( ) 对List内的元素进行排序
//ToArray( ) 把List内的元素拷贝到一个新的数组内
//trimToSize( ) 将容量设置为List中元素的实际数目
//************************************************************************
//部分方法实例
//1.声明
List list = new List();  
//2.添加元素
list . Add(T item)  ;
//3.添加一组元素
list . AddRange(IEnumerable collection)  ;
List mList = new List();
string[] temArr = { "a","sdg", "sddd", "0fg", "Jay", "2333" };
mList.AddRange(temArr);
//4.在index位置添加一个元素
Insert(int index, T item); 
//5.遍历List中元素
foreach (T item in mList)  //T的类型与mList声明时一样
{
    Console.WriteLine(item );
}
//6.删除一个值
List. Remove(T item);
//7.删除下标为index的元素
List. RemoveAt(int index);   
//8.从下标index开始,删除count个元素
List. RemoveRange(int index, int count);
//9.判断某个元素是否在该List中(返回值为:true/false)
List. Contains(T item);  
//10.给List里面元素排序(默认是元素第一个字母按升序)
List. Sort ();  
//11.给List里面元素顺序反转 (可以与List. Sort ()配合使用,达到想要的效果)
List. Reverse ();   
//12.List清空
List. Clear ();
//13.获得List中元素数目(返回int值)
List. Count ();    
//******************************************************************************************************
//list进阶
//1.List.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素 
public List FindAll(Predicate match);
//2.List.Find 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的第一个匹配元素。
//Predicate是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。
//当前 List 的元素被逐个传递给Predicate委托,并在 List 中向前移动,从第一个元素开始,到最后一个元素结束。
//当找到匹配项时处理即停止。
//Predicate 可以委托给一个函数或者一个拉姆达表达式:
public T Find(Predicate match);
//委托给拉姆达表达式:
string listFind = mList.Find(name =>  //name是变量,代表的是mList中元素,自己设定
{     
   if (name.Length > 3)
   {
      return true;
   }
  return false;
});
Console.WriteLine(listFind);
委托给一个函数:
string listFind1 = mList.Find(ListFind);  //委托给ListFind函数
Console.WriteLine(listFind);    
//ListFind函数
public bool ListFind(string name)
{
    if (name.Length > 3)
    {
        return true;
    }
    return false;
}
//3.List.FindLast 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的最后一个匹配元素。
//用法与List.Find相同。
public T FindLast(Predicate match);
//4.List.TrueForAll方法:  确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹配。
//用法与List.Find相同。
public bool TrueForAll(Predicate match);
//5.List.Take(n)方法:  获得前n行 返回值为IEnumetable,T的类型与List的类型一样
IEnumerable takeList=  mList.Take(5);
foreach (string s in takeList)
{
      Console.WriteLine("element in takeList: " + s);//这时takeList存放的元素就是mList中的前5个。
}
//6.List.Where方法:检索与指定谓词所定义的条件相匹配的所有元素。跟List.FindAll方法类似。
//7.List.RemoveAll方法:移除与指定的谓词所定义的条件相匹配的所有元素。
public int RemoveAll(Predicate match);
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之后的元素。
}  

你可能感兴趣的:(C#中List用法)