Questions tagged «linq»

语言集成查询(LINQ)是Microsoft .NET Framework组件,它向.NET语言添加了本机数据查询功能。请考虑在适当的时候使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

12
比较两个通用列表差异的最快方法
比较两个大型项目(> 50.000个项目)最快(且最不占用资源)是什么,因此有两个列表如下: 显示在第一个列表中但不在第二个列表中的项目 出现在第二个列表中但不在第一个列表中的项目 目前,我正在使用List或IReadOnlyCollection,并在linq查询中解决此问题: var list1 = list.Where(i => !list2.Contains(i)).ToList(); var list2 = list2.Where(i => !list.Contains(i)).ToList(); 但这并没有我想要的那样好。有什么想法可以让我更快地处理和减少资源消耗,因为我需要处理很多列表?
213 c#  linq  list 

9
扩展方法必须在非通用静态类中定义
我收到错误消息: 扩展方法必须在非通用静态类中定义 在线上: public class LinqHelper 这是基于Mark Gavells代码的帮助程序类。我对这个错误的含义感到非常困惑,因为我确信当我在星期五离开它时,它可以正常工作! using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Linq.Expressions; using System.Reflection; /// <summary> /// Helper methods for link /// </summary> public class LinqHelper { public static IOrderedQueryable<T> OrderBy<T>(this IQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "OrderBy"); } public static IOrderedQueryable<T> …

7
何时在Linq中使用Cast()和Oftype()
我知道在Linq中将类型转换为IEnumerablefrom的两种方法,Arraylist并且想知道在哪种情况下使用它们? 例如 IEnumerable<string> someCollection = arrayList.OfType<string>() 要么 IEnumerable<string> someCollection = arrayList.Cast<string>() 这两种方法有什么区别?每种情况应在哪里应用?
211 c#  .net  linq 

4
如何从IGrouping获取值
我IGrouping对Select()方法有疑问。 假设我有IEnumerable<IGrouping<int, smth>>这样一种方式: var groups = list.GroupBy(x => x.ID); 哪里list是List<smth>。 现在,我需要以IGrouping某种方式将每个值传递给另一个列表: foreach (var v in structure) { v.ListOfSmth = groups.Select(...); // <- ??? } 在这种情况下,有人可以建议如何从中获取值(List<smth>)IGrouping<int, smth>吗?
211 c#  linq  select  igrouping 


16
LINQ-完全外部联接
我有一个人的ID和他们的姓氏列表,以及一个人的ID和他们的姓氏列表。有些人没有名字,有些人没有姓;我想在两个列表上进行完全外部联接。 因此,以下列表: ID FirstName -- --------- 1 John 2 Sue ID LastName -- -------- 1 Doe 3 Smith 应产生: ID FirstName LastName -- --------- -------- 1 John Doe 2 Sue 3 Smith 我是LINQ的新手(如果我很la脚,请原谅我),并且已经找到了许多解决方案,这些解决方案看起来都非常相似,但实际上似乎是外部联接,而对于“ LINQ外部联接”。 到目前为止,我的尝试是这样的: private void OuterJoinTest() { List<FirstName> firstNames = new List<FirstName>(); firstNames.Add(new FirstName { ID = 1, …

4
Linq列表列表到单个列表
好像这样的事情本来应该已经回答了,但是我找不到。 我的问题很简单,我如何在一个语句中执行此操作,这样我不必使用新的空列表然后在下一行进行汇总,而可以使用一个linq语句来输出我的最终列表。details是一个项目列表,每个项目都包含一个住所列表,我只想将所有住所都放在一个平面列表中。 var residences = new List<DAL.AppForm_Residences>(); details.Select(d => d.AppForm_Residences).ToList().ForEach(d => residences.AddRange(d));
201 c#  linq 

3
SQL to LINQ工具[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 有没有可以将SQL语法转换为LINQ语法的工具? 我只想用join等将基本查询重写为LINQ。这样可以节省很多时间。
198 sql  linq 

9
如何将linq结果转换为HashSet或HashedSet
我有一个作为ISet的类的属性。我正在尝试将linq查询的结果放入该属性中,但无法弄清楚该怎么做。 基本上,寻找这的最后一部分: ISet<T> foo = new HashedSet<T>(); foo = (from x in bar.Items select x).SOMETHING; 也可以这样做: HashSet<T> foo = new HashSet<T>(); foo = (from x in bar.Items select x).SOMETHING;
195 c#  linq 

5
LINQ读取XML
我得到了这个XML文件: <root> <level1 name="A"> <level2 name="A1" /> <level2 name="A2" /> </level1> <level1 name="B"> <level2 name="B1" /> <level2 name="B2" /> </level1> <level1 name="C" /> </root> 有人可以使用LINQ给我一个C#代码,这是打印此结果的最简单方法:( 请注意,如果它是一个level2节点,则需要额外的空间) A A1 A2 B B1 B2 C 目前,我得到了以下代码: XDocument xdoc = XDocument.Load("data.xml")); var lv1s = from lv1 in xdoc.Descendants("level1") select lv1.Attribute("name").Value; foreach (var lv1 …
194 c#  xml  linq  linq-to-xml 

16
返回匿名类型的结果?
使用下面的简单示例,使用Linq将多个表中的结果返回到SQL的最佳方法是什么? 说我有两个表: Dogs: Name, Age, BreedId Breeds: BreedId, BreedName 我想把所有的狗都还给他们BreedName。我应该让所有的狗都使用这样的东西而没有问题: public IQueryable<Dog> GetDogs() { var db = new DogDataContext(ConnectString); var result = from d in db.Dogs join b in db.Breeds on d.BreedId equals b.BreedId select d; return result; } 但是,如果我想要带有品种的狗并尝试这样做,则会遇到问题: public IQueryable<Dog> GetDogsWithBreedNames() { var db = new DogDataContext(ConnectString); var …
194 c#  linq  linq-to-sql 

7
如何在单个步骤中获取列表中项目的索引?
如何在列表中查找项目的索引而不遍历该索引? 当前,这看起来不太好-在列表中两次搜索同一项目,只是为了获得索引: var oProp = something; int theThingIActuallyAmInterestedIn = myList.IndexOf(myList.Single(i => i.Prop == oProp));
193 c#  linq  lookup 

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 > 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 …

22
LINQ-to-SQL与存储过程?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我看了一下StackOverflow上的“ LINQ初学者指南”(LINQ初学者指南),但是有一个后续问题: 我们将要启动一个新项目,其中几乎所有数据库操作都将是相当简单的数据检索(该项目的另一部分已经在写数据了)。到目前为止,我们的大多数其他项目都使用存储过程来处理此类事情。但是,如果更有意义,我想利用LINQ-to-SQL。 因此,问题是这样的:对于简单的数据检索,LINQ-to-SQL或存储的proc哪种方法更好?任何特定的赞成或反对? 谢谢。

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.