我有一個asp.net應用程序,現在我正在使用數據集進行數據操作。我最近開始將此數據集轉換爲List集合。但是,在一些地方它不起作用。一個是我使用舊版本datarow[] drow = dataset.datatable.select(searchcriteria)
。但是在List集合中,沒有可用於查找特定值的方法。有沒有什麼方法可以根據我的搜索條件選擇一些值?我想知道這是否可能。請幫幫我。列表中的選擇方法<t>集合
38
A
回答
118
好了,開始用List<T>
不有FindAll
和ConvertAll
方法 - 但更地道,現代的方法是使用LINQ:
// Find all the people older than 30
var query1 = list.Where(person => person.Age > 30);
// Find each person's name
var query2 = list.Select(person => person.Name);
你需要一個使用指令在你的文件使這項工作:
using System.Linq;
注意,這些不使用字符串來表示謂詞和項目 - 他們使用的代表,通常是從lambda表達式生成如上。
如果lambda表達式和LINQ是新的給你,我會建議你得到一本書涵蓋LINQ第一,如LINQ in Action,Pro LINQ,C# 4 in a Nutshell還是我自己C# in Depth。你當然可以可以只是從Web教程學習LINQ,但我認爲這是一個非常重要的技術,值得花時間去徹底學習它。
3
通用List<T>
擁有可用於過濾數據的Where<T>(Func<T, Boolean>)
擴展方法。
在你的情況與排陣:
var rows = rowsArray.Where(row => row["LastName"].ToString().StartsWith("a"));
如果您正在使用DataRowCollection
,你需要先投放。
var rows = dataTableRows.Cast<DataRow>().Where(row => row["LastName"].ToString().StartsWith("a"));
7
,你也可以嘗試
var query = from p in list
where p.Age > 18
select p;
3
試試這個:
using System.Data.Linq;
var result = from i in list
where i.age > 45
select i;
使用lambda表達式,請使用以下語句:
var result = list.where(i => i.age > 45);
相關問題
- 1. 選擇列表集合中選擇的項目的角2 ngModel
- 2. 自定義集合擴展列表<T>添加方法
- 3. 從列表中選擇<string>
- 4. 在HQL中選擇集合
- 5. 有效的方法來比較一組集合在Python中的集合列表
- 6. C#方法選擇選擇對象,而不是IEnumerable的<object>傳遞一個基本類型集合
- 7. 選擇字段的表單集合
- 8. 如果不在集合中,然後添加到選擇列表
- 9. Java - 集合選擇
- 10. 選擇正確的集合/列表爲我的倉庫
- 11. 將參數傳遞給text_method的集合選擇方法
- 12. 迭代Cython中的對象列表/集合的最快方法?
- 13. 列表中的()方法<T>
- 14. 選擇集合的補碼
- 15. 選擇什麼元素的集合是不是在表列
- 16. 算法:選擇一個集合
- 17. 如何使用集合類中的方法排序列表
- 18. 使用另一個選擇列表中的選項填充選擇列表的最快方法
- 19. Rails 3的依賴集合中選擇
- 20. Rails的幫手「集合中選擇」
- 21. 從打印的集合中選擇
- 22. 從列表<>選擇項目
- 23. Xcode字體選擇器窗口無法選擇字體集合
- 24. 華廷的SelectList中的方法選擇列表
- 25. Ruby集合哈希集合中的選擇性值
- 26. 渲染Backbone.js集合作爲選擇列表
- 27. 在選擇列表中的jquery選擇
- 28. 將LINQ查詢傳遞給方法來動態地選擇表單集合
- 29. 無法在<select>中選擇其他選項,但是選項列表在下拉列表中可見...
- 30. Ruby的選擇方法,選擇值不符合標準