C#(五十八)之C#List

前几天,看同事写的代码中有list相关的字眼,百度了一下,原来是C#中list泛型集合。

了解一下。

List:泛型集合,List<T>类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口。 

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

使用命名空间:

<span style="background-color:#282c34"><span style="color:#abb2bf"><span style="color:#f92672">using</span> <span style="color:#f92672">System</span>.Collections.Generic;</span></span>

list一些方法和属性:

1.      Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以适合实际的元素数目。

2.      Count 属性,用于获取数组中当前元素数量

3.      Item( ) 通过指定索引获取或设置元素。对于List类来说,它是一个索引器。

4.      Add( ) 在List中添加一个对象的公有方法

5.      AddRange( ) 公有方法,在List尾部添加实现了ICollection接口的多个元素

6.      BinarySearch( ) 重载的公有方法,用于在排序的List内使用二分查找来定位指定元素.

7.      Clear( ) 在List内移除所有元素

8.      Contains( ) 测试一个元素是否在List内

9.      CopyTo( ) 重载的公有方法,把一个List拷贝到一维数组内

10.    Exists( ) 测试一个元素是否在List内

11.    Find( ) 查找并返回List内的出现的第一个匹配元素

12.    FindAll( ) 查找并返回List内的所有匹配元素

13.    GetEnumerator( ) 重载的公有方法,返回一个用于迭代List的枚举器

14.    Getrange( ) 拷贝指定范围的元素到新的List内

15.    IndexOf( ) 重载的公有方法,查找并返回每一个匹配元素的索引

16.    Insert( ) 在List内插入一个元素

17.    InsertRange( ) 在List内插入一组元素

18.    LastIndexOf( ) 重载的公有方法,,查找并返回最后一个匹配元素的索引

19.    Remove( ) 移除与指定元素匹配的第一个元素

20.    RemoveAt( ) 移除指定索引的元素

21.    RemoveRange( ) 移除指定范围的元素

22.    Reverse( ) 反转List内元素的顺序

23.    Sort( ) 对List内的元素进行排序

24.    ToArray( ) 把List内的元素拷贝到一个新的数组内

25.    trimToSize( ) 将容量设置为List中元素的实际数目

 

1:声明list

①、List<T> mList = new List<T>();  
T为列表中元素类型,现在以string类型作为例子

<span style="background-color:#282c34"><span style="color:#abb2bf">List<<span style="color:#e6c07b">string</span>> mList = <span style="color:#f92672">new</span> List<<span style="color:#e6c07b">string</span>>();</span></span>

②、List<T> testList =new List<T> (IEnumerable<T> collection);

以一个集合作为参数创建List:

<span style="background-color:#282c34"><span style="color:#abb2bf"><span style="color:#e6c07b">string</span>[] arr = { <span style="color:#98c379">"Ha"</span>, <span style="color:#98c379">"Hunter"</span>, <span style="color:#98c379">"Tom"</span>, <span style="color:#98c379">"Lily"</span>, <span style="color:#98c379">"Jay"</span>, <span style="color:#98c379">"Jim"</span>, <span style="color:#98c379">"Kuku"</span>, <span style="color:#98c379">"Locu"</span> };
List<<span style="color:#e6c07b">string</span>> mList = <span style="color:#f92672">new</span> List<<span style="color:#e6c07b">string</span>>(arr);</span></span>

2:添加元素 Add

添加一个元素

语法: List. Add(T item)  

<span style="background-color:#282c34"><span style="color:#abb2bf">mList.<span style="color:#e2b93d">Add(<span style="color:#9ccc65">"cmailla"</span>)</span>;
foreach (<span style="color:#e6c07b">string</span> item <span style="color:#f92672">in</span> mList)
{
      Console.<span style="color:#e2b93d">WriteLine(item)</span>;
}</span></span>

3:指定位置添加元素 Insert

语法: Insert(int index, T item); 

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList.Insert(<span style="color:#d19a66">0</span>,<span style="color:#98c379">"qwert"</span>);
            foreach (<span style="color:#e6c07b">string</span> <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> mList)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

4:添加元素集合 AddRange

语法: List. AddRange(IEnumerable<T> collection)   

<span style="background-color:#282c34"><span style="color:#abb2bf">            <span style="color:#e6c07b">string</span>[] dfg = { <span style="color:#98c379">"hiocvhi"</span>,<span style="color:#98c379">"jioosdfhio"</span>,<span style="color:#98c379">"erw"</span>};
            mList.AddRange(dfg);
            foreach (<span style="color:#e6c07b">string</span> <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> mList)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

5:删除指定元素

语法:List. Remove(T item)

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList.Remove(<span style="color:#98c379">"erw"</span>);
            foreach (<span style="color:#e6c07b">string</span> <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> mList)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

6:删除指定下标元素

语法:List. RemoveAt(int index);   

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList.RemoveAt(<span style="color:#d19a66">3</span>);
            foreach (<span style="color:#e6c07b">string</span> <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> mList)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

7:从下标index开始,删除count个元素

语法:List. RemoveRange(int index, int count);

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList.RemoveRange(<span style="color:#d19a66">3</span>,<span style="color:#d19a66">5</span>);
            foreach (<span style="color:#e6c07b">string</span> <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> mList)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

8:判断某个元素是否在该List中:

语法:List. Contains(T item)   返回值为:true/false

<span style="background-color:#282c34"><span style="color:#abb2bf">            bool s = mList.Contains(<span style="color:#98c379">"Ha"</span>);
            Console.WriteLine(s);
            Console.WriteLine(<span style="color:#98c379">"</span>
<span style="color:#98c379">");</span></span></span>

9:给List里面元素排序:

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

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList<span style="color:#d19a66">.Sort</span>();
            foreach (var item in mList)
            {
                Console<span style="color:#d19a66">.WriteLine</span>(item);
            }
            Console<span style="color:#d19a66">.WriteLine</span>("
");</span></span>

10:给List里面元素顺序反转:

语法: List. Reverse ()   可以与List. Sort ()配合使用,达到想要的效果

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList<span style="color:#d19a66">.Reverse</span>();
            foreach (var item in mList)
            {
                Console<span style="color:#d19a66">.WriteLine</span>(item);
            }
            Console<span style="color:#d19a66">.WriteLine</span>("
");</span></span>

11:List清空:

语法:List. Clear () 

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList<span style="color:#d19a66">.Clear</span>();
            foreach (var item in mList)
            {
                Console<span style="color:#d19a66">.WriteLine</span>(item);
            }
            Console<span style="color:#d19a66">.WriteLine</span>("
");</span></span>

12:ist.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素 

语法:public List<T> FindAll(Predicate<T> match);

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

Predicate 可以委托给一个函数或者一个拉姆达表达式:

正常委托:

<span style="background-color:#282c34"><span style="color:#abb2bf">        List<<span style="color:#e6c07b">string</span>> subList = mList.FindAll(ListFind); <span style="color:#b18eb1"><em>//委托给ListFind函数</em></span>
        <span style="color:#b18eb1"><em>//ListFind函数</em></span>
        <span style="color:#61aeee"><span style="color:#f92672">public</span> <span style="color:#f92672">static</span> <span style="color:#e6c07b">bool</span> <span style="color:#61aeee">ListFind</span>(<span style="color:#a6e22e"><span style="color:#e6c07b">string</span> name</span>)</span>
        {
            Console.WriteLine(name);
            <span style="color:#f92672">if</span> (name.Length > <span style="color:#d19a66">3</span>)
            {
                <span style="color:#f92672">return</span> <span style="color:#56b6c2">true</span>;
            }
            <span style="color:#f92672">return</span> <span style="color:#56b6c2">false</span>;
        }</span></span>

匿名委托:

<span style="background-color:#282c34"><span style="color:#abb2bf">List<<span style="color:#e6c07b">string</span>> subList = mList.<span style="color:#e2b93d">FindAll( delegate(string name)</span> {
     Console.<span style="color:#e2b93d">WriteLine(name)</span>;
     <span style="color:#f92672">if</span> (name.Length > <span style="color:#d19a66">3</span>)
     {
           return <span style="color:#56b6c2">true</span>;
      }
       return <span style="color:#56b6c2">false</span>;
});</span></span>

Lambda表达式:

<span style="background-color:#282c34"><span style="color:#abb2bf">List<string> subList = mList.FindAll(<span style="color:#61aeee"><span style="color:#a6e22e">name</span> =></span> {
      <span style="color:#e6c07b">Console</span>.WriteLine(name);
      <span style="color:#f92672">if</span> (name.<span style="color:#e6c07b">Length</span> > <span style="color:#d19a66">3</span>)
      {
            <span style="color:#f92672">return</span> <span style="color:#56b6c2">true</span>;
      }
      <span style="color:#f92672">return</span> <span style="color:#56b6c2">false</span>;
});</span></span>

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

语法:public T Find(Predicate<T> match);

<span style="background-color:#282c34"><span style="color:#abb2bf"><span style="color:#e6c07b">string</span> listFind1 = mList.<span style="color:#e2b93d">Find(ListFind)</span>;  <span style="color:#b18eb1"><em>//委托给ListFind函数</em></span>
Console.<span style="color:#e2b93d">WriteLine(listFind1)</span>;</span></span>

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

语法:public T FindLast(Predicate<T> match);

<span style="background-color:#282c34"><span style="color:#abb2bf"><span style="color:#e6c07b">string</span> listFind2 = mList.<span style="color:#e2b93d">FindLast(ListFind)</span>;  <span style="color:#b18eb1"><em>//委托给ListFind函数</em></span>
Console.<span style="color:#e2b93d">WriteLine(listFind2)</span>;</span></span>

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

语法:public bool TrueForAll(Predicate<T> match);

<span style="background-color:#282c34"><span style="color:#abb2bf"><span style="color:#e6c07b">bool</span> flag = mList.<span style="color:#e2b93d">TrueForAll(delegate(string name)</span>
{
      Console.<span style="color:#e2b93d">WriteLine(name)</span>;
      <span style="color:#f92672">if</span> (name.Length > <span style="color:#d19a66">3</span>)
      {
           return <span style="color:#56b6c2">true</span>;
      }
      return <span style="color:#56b6c2">false</span>;
});</span></span>

16:List.Take(n)方法:  获得前n行 返回值为IEnumetable<T>,T的类型与List<T>的类型一样:就是复制

<span style="background-color:#282c34"><span style="color:#abb2bf">            IEnumerable<<span style="color:#e6c07b">string</span>> mmmlist = mList.Take(<span style="color:#d19a66">3</span>);
            foreach (<span style="color:#e6c07b">string</span> <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> mmmlist)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

17:List.Where方法:检索与指定谓词所定义的条件相匹配的所有元素。跟List.FindAll方法类似。

使用该方法定义存储集合的元素开头是:IEnumerable

<span style="background-color:#282c34"><span style="color:#abb2bf">            IEnumerable<<span style="color:#e6c07b">string</span>> whereList = mList.Where(ListFind);
            foreach (var <span style="color:#e6c07b">item</span> <span style="color:#f92672">in</span> whereList)
            {
                Console.WriteLine(<span style="color:#e6c07b">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

18:List.RemoveAll方法:移除与指定的谓词所定义的条件相匹配的所有元素。

语法: public int RemoveAll(Predicate<T> match);

<span style="background-color:#282c34"><span style="color:#abb2bf">            mList.RemoveAll<span style="color:#e6c07b">(name</span> => {
                <span style="color:#f92672">if</span> <span style="color:#e6c07b">(name</span>.Length <= <span style="color:#d19a66">6</span>)
                {
                    <span style="color:#f92672">return</span><span style="color:#e6c07b"> true</span>;
                }
                <span style="color:#f92672">else</span> {
                    <span style="color:#f92672">return</span><span style="color:#e6c07b"> false</span>;
                }
            });
            foreach (var <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> mList)
            {
                Console.WriteLine(<span style="color:#d19a66">item</span>);
            }
            Console.WriteLine(<span style="color:#98c379">"
"</span>);</span></span>

测试使用全部代码:

<span style="background-color:#282c34"><span style="color:#abb2bf"><span style="color:#d19a66">using</span> <span style="color:#e6c07b">System</span>;
<span style="color:#d19a66">using</span> <span style="color:#e6c07b">System</span>.Collections.Generic;
<span style="color:#d19a66">using</span> <span style="color:#e6c07b">System</span>.Linq;
<span style="color:#d19a66">using</span> <span style="color:#e6c07b">System</span>.Text;
<span style="color:#d19a66">using</span> <span style="color:#e6c07b">System</span>.Threading.Tasks;
 
<span style="color:#d19a66">namespace</span> <span style="color:#61aeee">listys</span>
{
    <span style="color:#f92672">class</span> <span style="color:#e6c07b">Program</span>
    {
        <span style="color:#f92672">static</span> <span style="color:#d19a66">void</span> <span style="color:#e6c07b">Main</span>(<span style="color:#d19a66">string</span>[] <span style="color:#d19a66">args</span>)
        {
            <span style="color:#b18eb1"><em>// 声明列表</em></span>
            <span style="color:#b18eb1"><em>// List<string> mList = new List<string>();</em></span>
 
            <span style="color:#d19a66">string</span>[] <span style="color:#d19a66">arr</span> <span style="color:#f92672">=</span> { <span style="color:#98c379">"Ha"</span>, <span style="color:#98c379">"Hunter"</span>, <span style="color:#98c379">"Tom"</span>, <span style="color:#98c379">"Lily"</span>, <span style="color:#98c379">"Jay"</span>, <span style="color:#98c379">"Jim"</span>, <span style="color:#98c379">"Kuku"</span>, <span style="color:#98c379">"Locu"</span> };
            <span style="color:#e6c07b">List</span><span style="color:#f92672"><</span><span style="color:#d19a66">string</span><span style="color:#f92672">></span> <span style="color:#d19a66">mList</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">new</span> <span style="color:#e6c07b">List</span><span style="color:#f92672"><</span><span style="color:#d19a66">string</span><span style="color:#f92672">></span>(<span style="color:#d19a66">arr</span>);
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">mList</span>.Count);
 
            <span style="color:#d19a66">mList</span>.Add(<span style="color:#98c379">"cmailla"</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">mList</span>.Insert(<span style="color:#d19a66">0</span>,<span style="color:#98c379">"qwert"</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">string</span>[] <span style="color:#d19a66">dfg</span> <span style="color:#f92672">=</span> { <span style="color:#98c379">"hiocvhi"</span>,<span style="color:#98c379">"jioosdfhio"</span>,<span style="color:#98c379">"erw"</span>};
            <span style="color:#d19a66">mList</span>.AddRange(<span style="color:#d19a66">dfg</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">mList</span>.Remove(<span style="color:#98c379">"erw"</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">mList</span>.RemoveAt(<span style="color:#d19a66">3</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">mList</span>.RemoveRange(<span style="color:#d19a66">3</span>,<span style="color:#d19a66">5</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">bool</span> <span style="color:#d19a66">s</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.Contains(<span style="color:#98c379">"Ha"</span>);
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">s</span>);
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">mList</span>.Sort();
            <span style="color:#61aeee">foreach</span> (<span style="color:#f92672">var</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#d19a66">mList</span>.Reverse();
            <span style="color:#61aeee">foreach</span> (<span style="color:#f92672">var</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
            <span style="color:#b18eb1"><em>/*mList.Clear();
            foreach (var item in mList)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("
");//*/</em></span>
 
            <span style="color:#b18eb1"><em>// 正常委托</em></span>
            <span style="color:#b18eb1"><em>// List<string> subList = mList.FindAll(ListFind); //委托给ListFind函数</em></span>
            <span style="color:#b18eb1"><em>// 匿名委托</em></span>
            <span style="color:#b18eb1"><em>/*List<string> subList = mList.FindAll( delegate(string name) {
                Console.WriteLine(name);
                if (name.Length > 3)
                {
                    return true;
                }
                return false;
            });//*/</em></span>
 
            <span style="color:#e6c07b">List</span><span style="color:#f92672"><</span><span style="color:#d19a66">string</span><span style="color:#f92672">></span> <span style="color:#d19a66">subList</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.FindAll(<span style="color:#d19a66">name</span> <span style="color:#f92672">=</span><span style="color:#f92672">></span> {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">name</span>);
                <span style="color:#f92672">if</span> (<span style="color:#d19a66">name</span>.Length <span style="color:#f92672">></span> <span style="color:#d19a66">3</span>)
                {
                    <span style="color:#f92672">return</span> <span style="color:#56b6c2">true</span>;
                }
                <span style="color:#f92672">return</span> <span style="color:#56b6c2">false</span>;
            });
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">sss</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">subList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"element in subList: "</span> <span style="color:#f92672">+</span> <span style="color:#d19a66">sss</span>);
            }
 
            <span style="color:#d19a66">string</span> <span style="color:#d19a66">listFind1</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.Find(<span style="color:#e6c07b">ListFind</span>);  <span style="color:#b18eb1"><em>//委托给ListFind函数</em></span>
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">listFind1</span>);
 
            <span style="color:#d19a66">string</span> <span style="color:#d19a66">listFind2</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.FindLast(<span style="color:#e6c07b">ListFind</span>);  <span style="color:#b18eb1"><em>//委托给ListFind函数</em></span>
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">listFind2</span>);
 
            <span style="color:#d19a66">bool</span> <span style="color:#d19a66">flag</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.TrueForAll(<span style="color:#61aeee">delegate</span>(string name)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">name</span>);
                <span style="color:#f92672">if</span> (<span style="color:#d19a66">name</span>.Length <span style="color:#f92672">></span> <span style="color:#d19a66">3</span>)
                {
                    <span style="color:#f92672">return</span> <span style="color:#56b6c2">true</span>;
                }
                <span style="color:#f92672">return</span> <span style="color:#56b6c2">false</span>;
            });
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">flag</span>);
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
 
            <span style="color:#e6c07b">IEnumerable</span><span style="color:#f92672"><</span><span style="color:#d19a66">string</span><span style="color:#f92672">></span> <span style="color:#d19a66">mmmlist</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.Take(<span style="color:#d19a66">3</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#d19a66">string</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mmmlist</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
 
            <span style="color:#e6c07b">IEnumerable</span><span style="color:#f92672"><</span><span style="color:#d19a66">string</span><span style="color:#f92672">></span> <span style="color:#d19a66">whereList</span> <span style="color:#f92672">=</span> <span style="color:#d19a66">mList</span>.Where(<span style="color:#e6c07b">ListFind</span>);
            <span style="color:#61aeee">foreach</span> (<span style="color:#f92672">var</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">whereList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
 
 
            <span style="color:#d19a66">mList</span>.RemoveAll(<span style="color:#d19a66">name</span> <span style="color:#f92672">=</span><span style="color:#f92672">></span> {
                <span style="color:#f92672">if</span> (<span style="color:#d19a66">name</span>.Length <span style="color:#f92672"><=</span> <span style="color:#d19a66">6</span>)
                {
                    <span style="color:#f92672">return</span> <span style="color:#56b6c2">true</span>;
                }
                <span style="color:#f92672">else</span> {
                    <span style="color:#f92672">return</span> <span style="color:#56b6c2">false</span>;
                }
            });
            <span style="color:#61aeee">foreach</span> (<span style="color:#f92672">var</span> <span style="color:#d19a66">item</span> <span style="color:#f92672">in</span> <span style="color:#d19a66">mList</span>)
            {
                <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#d19a66">item</span>);
            }
            <span style="color:#e6c07b">Console</span>.WriteLine(<span style="color:#98c379">"
"</span>);
            <span style="color:#e6c07b">Console</span>.ReadLine();
        }
        <span style="color:#b18eb1"><em>//ListFind函数</em></span>
        <span style="color:#d19a66">public</span> <span style="color:#f92672">static</span> <span style="color:#d19a66">bool</span> <span style="color:#e6c07b">ListFind</span>(<span style="color:#d19a66">string</span> <span style="color:#d19a66">name</span>)
        {
            <span style="color:#f92672">if</span> (<span style="color:#d19a66">name</span>.Length <span style="color:#f92672">></span> <span style="color:#d19a66">3</span>)
            {
                <span style="color:#f92672">return</span> <span style="color:#56b6c2">true</span>;
            }
            <span style="color:#f92672">return</span> <span style="color:#56b6c2">false</span>;
        }
    }
}</span></span>

有好的建议,请在下方输入你的评论。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值