Questions tagged «linq-to-objects»

术语“ LINQ to Objects”是指直接将LINQ查询与任何IEnumerable或IEnumerable <T>集合一起使用,而无需使用中间LINQ提供程序或API,例如LINQ to SQL或LINQ to XML。

20
IEnumerable <T> / IQueryable <T>上的动态LINQ OrderBy
我在VS2008动态LINQ 示例中找到了一个示例,该示例允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))用于订购。不幸的是,所包含的方法仅适用于IQueryable&lt;T&gt;该功能。是否有任何方法可以启用此功能IEnumerable&lt;T&gt;?
668 c#  linq  linq-to-objects 

11
使用linq删除列表中的重复项
我有一个类Items有properties (Id, Name, Code, Price)。 列表中Items有重复的项目。 例如: 1 Item1 IT00001 $100 2 Item2 IT00002 $200 3 Item3 IT00003 $150 1 Item1 IT00001 $100 3 Item3 IT00003 $150 如何使用linq删除列表中的重复项?

12
使用Lambda / Linq对对象排序列表
我在字符串中有“按属性排序”的名称。我将需要使用Lambda / Linq对对象列表进行排序。 例如: public class Employee { public string FirstName {set; get;} public string LastName {set; get;} public DateTime DOB {set; get;} } public void Sort(ref List&lt;Employee&gt; list, string sortBy, string sortDirection) { //Example data: //sortBy = "FirstName" //sortDirection = "ASC" or "DESC" if (sortBy == "FirstName") { list …

4
等效于链接的LINQ扩展方法调用中的'let'关键字的代码
使用C#编译器查询理解功能,您可以编写如下代码: var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" }; var result = from animalName in names let nameLength = animalName.Length where nameLength &gt; 3 orderby nameLength select animalName; 在上面的查询表达式中,let关键字允许将值转发给where和orderby操作,而无需重复调用animalName.Length。 什么是LINQ扩展方法调用的等效集合,可以实现此处的“ let”关键字呢?

9
了解LINQ [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 总览 LINQ是我在这个网站上问过很多的问题之一。我提出的问题涉及面很广,而且种类繁多,而且往往没有太多的背景信息。因此,为了巩固我在Linq上获得的知识,我在发布此问题,以期在我继续学习LINQ时使用其他信息来维护和更新它。 我也希望它对其他想了解LINQ的人来说是有用的资源。 什么是LINQ? 从MSDN: LINQ项目是.NET Framework扩展集的代号,该扩展集包含语言集成的查询,设置和转换操作。它使用查询的本机语言语法扩展了C#和Visual Basic,并提供了类库以利用这些功能。 这意味着LINQ提供了一种使用通用语法查询各种数据源的标准方法。 LINQ有哪些口味? 当前,Microsoft提供了一些不同的LINQ提供程序: Linq to Objects,使您可以对任何IEnumerable对象执行查询。 Linq to SQL,它允许您以面向对象的方式对数据库执行查询。 Linq to XML,使您可以查询,加载,验证,序列化和操作XML文档。 如Andrei建议的实体的Linq Linq到数据集 还有很多其他的,这里列出了很多。 有什么好处? 查询多个数据源的标准化方法 编译查询的时间安全 在内存对象上执行基于集合的操作的优化方法 调试查询的能力 那我可以用LINQ做什么呢? Chook提供了一种输出CSV文件的方法。 杰夫(Jeff)显示了如何从数组中删除重复项。 鲍勃(Bob)从数据表中获取了有序的列表。 马克思(Marxidad)显示了如何对数组进行排序。 达纳(Dana)获得了使用Linq实现快速排序的帮助。 从哪儿开始? 以下是GateKiller的问题的链接摘要: Scott Guthrie 在他的博客中提供了Linq的简介。MSDN上 的LINQ概述 ChrisAnnODell建议您查看以下内容: 迷上了Linq 101个Linq样本 LinqPad …

5
Linq选择列表中存在IN(A,B,C)的对象
我有一个清单orders。 我想orders根据一组订单状态进行选择。 所以本质上 select orders where order.StatusCode in ("A", "B", "C") // Filter the orders based on the order status var filteredOrders = from order in orders.Order where order.StatusCode.????????("A", "B", "C") select order;

7
Find()与Where()。FirstOrDefault()
我经常看到人们Where.FirstOrDefault()用来搜索并获取第一个元素。为什么不只是使用Find()?对方有优势吗?我无法分辨。 namespace LinqFindVsWhere { class Program { static void Main(string[] args) { List&lt;string&gt; list = new List&lt;string&gt;(); list.AddRange(new string[] { "item1", "item2", "item3", "item4" }); string item2 = list.Find(x =&gt; x == "item2"); Console.WriteLine(item2 == null ? "not found" : "found"); string item3 = list.Where(x =&gt; x == "item3").FirstOrDefault(); Console.WriteLine(item3 …
161 c#  linq  linq-to-objects 

1
如何使用LINQ过滤字典并将其返回相同类型的字典
我有以下字典: Dictionary&lt;int,string&gt; dic = new Dictionary&lt;int,string&gt;(); dic[1] = "A"; dic[2] = "B"; 我想过滤字典中的项目并将结果重新分配给相同的变量: dic = dic.Where (p =&gt; p.Key == 1); 如何将相同类型[ &lt;int,string&gt;]的结果作为字典返回? 我试过了ToDictionary,但是没有用。 提前致谢。

4
Linq-SelectMany混乱
据我从SelectMany的文档中了解到的,可以用它来产生一个(平整的)一对多关系的序列。 我有以下课程 public class Customer { public int Id { get; set; } public string Name { get; set; } } class Order { public int Id { get; set; } public int CustomerId { get; set; } public string Description { get; set; } } 然后,我尝试使用查询表达式语法使用它们,如下所示 var customers = …

30
您最喜欢的不是内置的LINQ to Objects运算符是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 改善这个问题 使用扩展方法,我们可以编写方便的LINQ运算符来解决通用问题。 我想听听System.Linq命名空间中缺少哪些方法或重载以及如何实现它们。 最好使用可能使用现有方法的简洁明了的实现。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.