c#列表操作


                    Enumerable[從元數據]

    //
        // 摘要:
        //     從序列的開頭返回指定數量的連續元素。
        //
        // 參數:
        //   source:
        //     要從其返回元素的序列。
        //
        //   count:
        //     要返回的元素數量。
        //
        // 類型參數:
        //   TSource:
        //     source 中的元素的類型。
        //
        // 返回結果:
        //     一個 System.Collections.Generic.IEnumerable<T>,包含輸入序列開頭的指定數量的元素。
        //
        // 異常:
        //   System.ArgumentNullException:
        //     source 為 null。
        public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source, int count);

例子:list.take(4).ToList();//從序列的開頭返回指定數量的連續元素(0,1,2,3)

    //
        // 摘要:
        //     通過使用默認的相等比較器對值進行比較返回序列中的非重復元素。
        //
        // 參數:
        //   source:
        //     要從中移除重復元素的序列。
        //
        // 類型參數:
        //   TSource:
        //     source 中的元素的類型。
        //
        // 返回結果:
        //     一個 System.Collections.Generic.IEnumerable<T>,包含源序列中的非重復元素。
        //
        // 異常:
        //   System.ArgumentNullException:
        //     source 為 null。
        public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source);

例子:list.Distinct().ToList();//通過使用默認的相等比較器對值進行比較返回序列中的非重復元素。

    //
        // 摘要:
        //     將序列中的每個元素投影到新表中。
        //
        // 參數:
        //   source:
        //     一個值序列,要對該序列調用轉換函數。
        //
        //   selector:
        //     應用於每個元素的轉換函數。
        //
        // 類型參數:
        //   TSource:
        //     source 中的元素的類型。
        //
        //   TResult:
        //     selector 返回的值的類型。
        //
        // 返回結果:
        //     一個 System.Collections.Generic.IEnumerable<T>,其元素為對 source 的每個元素調用轉換函數的結果。
        //
        // 異常:
        //   System.ArgumentNullException:
        //     source 或 selector 為 null。
        public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector);

        Select函數的參數(Func<TSource, TResult> selector)是一個委托類型,列表中的每一個元素都調用這個委托函數,調用的過程是在Select函數內部實現的,我們看不到,獲得一個對應的結果,放到一個新的列表中,這個新的列表,也是在Select函數內部實現的,我們也看不到。當每一個元素都調用完Func<TSource, TResult> selector的時候,也就是Select函數即將結束的時候,把這個新的列表返回。我們需要建一個列表來接收他。藍色的字體this+一堆東西,意思是列表對象可以調用這個函數。

舉例:如下圖,委托函數是new DeviceProxyCfg(){...} ,創建一個對象,並用c#特有的方式對這個對象進行賦初值(new+類名{在大括號里賦初值}), 這里不明白的地方有兩點,第一,構造函數沒有參數,但是lamdab表達式是有參數的。第二,如何把這個對象DeviceProxyCfg添加到列表中的

http://blog.csdn.net/yan_hyz/article/details/7794063  Select和Where方法聯系

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM