首页 文章

了解LINQ [关闭]

提问于
浏览
185

概述

我在这个网站上问了很多关于的事情之一是LINQ . 我所提出的问题背后有很多背景 . 因此,为了巩固这些知识,我发布了这个问题,以便在我继续了解LINQ时,使用其他信息来维护和更新它 .

我也希望它能够成为想要了解LINQ的其他人的有用资源 .

什么是LINQ?

来自MSDN

LINQ项目是.NET Framework的一组扩展的代号,包括语言集成的查询,设置和转换操作 . 它使用本机语言语法扩展C#和Visual Basic,并提供类库以利用这些功能 .

这意味着LINQ提供了一种使用通用语法查询各种数据源的标准方法 .

有什么样的LINQ?

目前,Microsoft提供了一些不同的LINQ提供程序:

还有很多其他的,其中许多被列为here .

有什么好处?

  • 查询多个数据源的标准化方法

  • 编译查询的时间安全性

  • 在内存对象中执行基于集合的操作的优化方法

  • 能够调试查询

那么LINQ怎么办?

Chook提供了一种方法output CSV files
Jeff显示如何remove duplicates from an array
鲍勃获得distinct ordered list from a datatable
Marxidad显示如何sort an array
达纳得到帮助实施Quick Sort Using Linq

从哪里开始?

A summary of links from GateKiller's question are below
Scott Guthrie提供intro to Linq on his blog
LINQ on MSDN概述

ChrisAnnODell suggests checking out:

LINQ需要什么?

Linq目前在VB.Net 9.0和C#3.0中可用,因此您需要Visual Studio 2008或更高版本才能获得全部优势 . (您总是可以在记事本中编写代码并使用MSBuild进行编译)

还有一个名为LinqBridge的工具,它允许您在C#2.0中运行Linq之类的查询 .

使用LINQ的提示和技巧

This question有一些使用LINQ的棘手方法

9 回答

  • 3
  • 4

    提到LINQ to Entities,因为ADO.NET Entity Framework将是一个重要的.NET模块 .

  • 3

    得到这本书 Linq in Action 这是一本易于阅读的编码书,真正教你如何使用Linq和.NET 3.5的新功能,为语言添加了一些很酷的部分 .

  • 2

    一些LINQ技巧:

    • 在联接之前应用筛选器以提高查询性能

    • 使用对象引用比较过滤LINQ查询

    • 将聚合应用于LINQ to SQL查询中的空集合

    • 延迟在LINQ to SQL中加载属性

    • 使用启用了预先加载的表值函数

    • 在LINQ to Objects查询中以正确的顺序放置连接

    • 在循环内编写LINQ查询

    http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp

  • 0

    恕我直言,一个被忽视但重要的好处是LINQ的编码效率,例如用如此少的代码可以实现多少 . 我个人觉得查询语法易于阅读和理解 .

  • 4

    关于使用 LINQ to SQL 的一些注意事项:

    Has Microsoft really killed LINQ to SQL?

    Is LINQ to SQL DOA?

    关于 Entity Framework 的第一个版本,还有一些controversy,包括petition .

  • 6

    我想,“LINQ有哪些风味?”不完整 . 首先,您可以创建自己的“味道” . 是的,这是一项高级任务,但现在有很多不同的LINQ实现 .

    以下是Charlie Calvert博客上现有LINQ提供商的列表(以及学习LINQ的更多资源):Links to LINQ .

    此外,Matt Warren还有一系列关于如何创建自己的LINQ提供程序的博客文章:LINQ: Building an IQueryable provider series

  • 10

    我的2美分阅读“C#in Depth”一书中的“11个查询表达式和LINQ to Objects”和“12 LINQ beyond collections”,以了解LINQ的工作原理 .

  • 4

    For Linq Practice

    如果你想在练习和答案上练习LINQ,真的很容易设置,在我看来,真棒:

    https://github.com/walkhard/linq-exercises

    从git下载,在Visual Studio中打开 . 你的工作是通过测试 .

    [披露:我从中学到了一些linq,我为项目做出了贡献所以我认为这是一种非常棒,快速有效的学习方式 . ]

相关问题