我有一个 asp.net 应用程序,现在我正在使用数据集进行数据操作。我最近开始将此数据集转换为列表集合。但是,在某些地方它不起作用。一是在我的旧版本中我正在使用datarow[] drow = dataset.datatable.select(searchcriteria)
。但在 List 集合中,没有可用于查找特定值的方法。有没有办法让我根据我的搜索条件选择一些值?我想知道这是否可能。请帮我。
好吧,首先List<T>
does有FindAll http://msdn.microsoft.com/en-us/library/fh1w7y8z.aspx and ConvertAll http://msdn.microsoft.com/en-us/library/73fe8cwf.aspx方法 - 但更惯用、现代的方法是使用 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 指令才能完成此操作:
using System.Linq;
请注意,这些不使用字符串来表达谓词和项目 - 它们使用委托,通常是从上面的 lambda 表达式创建的。
如果 lambda 表达式和 LINQ 对您来说是新的,我建议您先买一本介绍 LINQ 的书,例如LINQ 的实际应用 https://rads.stackoverflow.com/amzn/click/com/1933988169, Pro LINQ https://rads.stackoverflow.com/amzn/click/com/1590597893, C# 4 简而言之 https://rads.stackoverflow.com/amzn/click/com/0596800959或者我自己的C# 深入探讨 http://www.manning.com/affiliate/idevaffiliate.php?id=876_230。你当然can仅通过网络教程学习LINQ,但我认为这是一项如此重要的技术,值得花时间彻底学习它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)