1. 程式人生 > >C# 找出泛型集合中的滿足一定條件的元素 List.Wher()

C# 找出泛型集合中的滿足一定條件的元素 List.Wher()

在學習的過程中,發現泛型集合List<T>有一個Where函式可以篩選出滿足一定條件的元素,結合Lambda表示式使用特別方便,寫出來與大家分享。

1.關於Func<>

Func是一種有任意個輸入引數,有一個返回值的委託,在使用的過程中,Func<in,in,out>,前n-1個是輸入引數型別,第N個是輸出引數型別。

如Fun<int,int,bool> compare=(x,y)=>{return x>y;};

表示定義一個 兩個輸入引數為int型別的,輸出型別為bool型別的委託。

2.Where()

可以看到 以List<string>為例子,改where的引數為Func<string,bool>的委託,也就是說是一個輸入值為string型別,輸出為bool型別的委託。 如果返回為真,則該元素會被新增到IEnumerable中,通過對IEnumerable的遍歷,可以將符合條件的每個元素輸出。

3.程式碼片段

 List<string> names = new List<string>();
            names.Add("wangyang");
            names.Add("litong");
            names.Add("yangjie");

            IEnumerable<string> ie = names.Where((name) => { return name.Length < 7; });
            foreach (var VARIABLE in ie)
            {
                Console.WriteLine(VARIABLE);
            }


相關推薦

C# 集合滿足一定條件元素 List.Wher()

在學習的過程中,發現泛型集合List<T>有一個Where函式可以篩選出滿足一定條件的元素,結合Lambda表示式使用特別方便,寫出來與大家分享。 1.關於Func<> Func是一種有任意個輸入引數,有一個返回值的委託,在使用的過程中,Func&l

C# 為何需要集合list;,及其一般用法

初次接觸泛型list<T>時還不太能理解,隨著不斷地學習,初步地總結了一下list<T>泛型集合,本文將針對泛型集合提出三個問題,什麼是泛型?有了雜湊表,二維陣列,字典等型別,為何還需要泛型集合?它又有什麼強大的功能讓程式設計師愛不釋手? 在此之前,

陣列重複次數最多的元素

#include <iostream> #include <vector> #include <algorithm> #include <map> using namespace std; struct number {

兩個數組不相同的元素

不同的 out 優化 ont 相同 array ted str args 找出兩個數組中不相同的元素,網上貼出的代碼基本如下: /** * 找出兩個數組中不同的元素 */ public class Test3 { public static Set<In

隨筆-兩個字串不相同的元素

題目: 給定兩個字串 s 和 t,它們只包含小寫字母。 字串 t 由字串 s 隨機重排,然後在隨機位置新增一個字母。 請找出在 t 中被新增的字母。 示例: 輸入: s = “abcd” t = “abcde” 輸出: e 解釋: ‘e’ 是那個被新增的字母。

Python實現刪除列表滿足一定條件元素示例(轉)

http://www.jb51.net/article/115953.htm 本文例項講述了Python實現刪除列表中滿足一定條件的元素。分享給大家供大家參考,具體如下: 從列表中刪除滿足一定條件的元素。 如:刪除一個列表中長度為0的元素,或者刪除列表中同時是2和3的倍數的元素。 做過高階語言程式設計的人想

刪除列表滿足一定條件元素

從列表中刪除滿足一定條件的元素。 如:刪除一個列表中長度為0的元素,或者刪除列表中同時是2和3的倍數的元素。 做過高階語言程式設計的人想當然的會認為“這很簡單”,可以如下面的方式來實現: for i in listObj: if(...): listObj.remov

C#Dictionary集合7種常見的用法

程序集 c# border adding 設置 type 其它 else ring 要使用Dictionary集合,需要導入C#泛型命名空間 System.Collections.Generic(程序集:mscorlib) Dictionary的描述1、從一組鍵(Key

三層架構使用實體類填充集合代替DataTable解決方案(ASP.NET+C#)

用三層架構開發專案,經常會遇到如下場景:       D層負責與資料庫互動,一般是得到DataTable或DataSet物件,然後返回給B層,B層進行類似的處理來讀取資料:dt.Rows[0][“xxx”];或者dt.Rows[0][1];(強烈

C#List集合引用問題(深度拷貝)

List 集合引用問題 這段時間公司有個Silverlight專案要加幾個報表模組,之前從未接觸過這個叫“銀光”的東西,之前在學校也是做的Net,迫於無賴就接手了,說說這個把月的心得以及遇到的問題。 首先說下什麼是Silverlight,官網的解釋是

C#入門集合List<T>

div nbsp 需要 強制轉換 初始 cnblogs lsi 轉換 blog 泛型集合 List<T> List<T>泛型集合特點: <T>表示泛型,T是Type簡寫,表示當前不確定具體類型; 可以根據用戶的實際需要,確定當前集合需要

.NET集合總結

pro 顯示 接口 www 最重要的 div 類型 項目 .cn 最近對集合相關的命名空間比較感興趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之類,總之,比較小白。點開N多博客,MSDN,StackOverflo

我在北京寫代碼 寫心中悲與喜 寫人間的悲歡離合 歡迎閱讀 我的第三章 使用集合組織相關數據(集合

nes -s ear 插入元素 資源管理 底層 動態 用途 key) ArrayList arry = new ArrayList(); arry.Add("小明"); arry.Add("小D"); arr

C#反射 字符串轉為實體類,並做為參數傳入方法使用

subst type xxd main.c 發現 get director col asm 工作中有這樣一個需求,有N張不同的報表,每張報表對應一個數據源,以前采用SQL統計方式 ,統計數據采用內存方式,首先在內在裏定義了數據源對應實體。統計條件用lamdba表達式式實現,

LinQ操作集合List<T>的常用方法

proc lambda表達式 shadow ado ext 分享圖片 jpg reac 常用 1 Find()方法:也可以使用lambda表達式,會更加簡潔一點這兩個代碼完全是等價的都是返回年齡>20中的第一個元素。只是用lambda表達式更加簡潔一點。上面用的是委托

C++一個二維陣列的鞍點,即該位置上的元素在該行上最大,在該列上最小(也可能沒有鞍點)

今日正式用csdn部落格記錄,回顧我所學到的知識,分享一些我的人生感悟和自身經歷。也希望未來通夠過此平臺和更多喜愛程式設計的人交流學習。 道聽途說再加上自己的感悟,認為程式設計最重要的是思想,而不是語言本身,語言只是個工具。所以我們得先學思想。遇到問題,應該先想如果是自己去做會怎麼處理,但我們不

C#集合與非集合(轉)

轉自部落格: http://www.cnblogs.com/zhxhdean/archive/2011/05/18/2050186.html 在.NET平臺最初發布時,程式設計師使用System.Collections名稱空間下的ArrayList,HashTable,Queue,S

C語言一個數組重複的元素

在一個數組中的數字是連續的,但是這個陣列中有一個數重複出現了一次,找出這個數。 #include <stdio.h> int main() { int i; int tmp=10; int swap=0; int a[10]={1,3,5,

C#自定義型別集合

一.定義介面 public interface ICustom { string Title { get; set; } string Content { get; set; } } 二.實現介面 public class Custo

往新建的集合List新增物件

這個其實很簡單,但是不知道為什麼我就是總忘。。。記不住,看來我有必要寫下來。 這裡先建立一個泛型集合 ,MemberByKeyWord這個是一個實體類。 List<MemberByKey