【问题标题】:Teaching coworkers LINQ [closed]教同事LINQ [关闭]
【发布时间】:2010-04-28 14:35:41
【问题描述】:

我已经踏上了教育我的同事的旅程(所有人都接受了我的使命,甚至是老板)。 如果我的同事对框架了解得更多,我似乎每天都能找到一段更不容易出错的代码,更好地了解框架(由 DNR 提供;))是我教学过程的第二部分。第一部分是向我的同事介绍 LINQ,它可以为他们做什么以及它是如何编写的。

我最大的问题是 LINQ 教育的所有良好基础资源在哪里,如果找到的话,一切都与 Linq2Sql 或所有其他类型的材料紧密耦合。我也找不到实际 linq 语法的教程(除了所有规范)。

(我希望以前没有人问过这个问题,但如果有人问过,请说出来,因为我的搜索技巧失败了;))

基础教程(免费):

基础教程(商业网站):

参考网站:

【问题讨论】:

标签: c# .net linq linq-to-objects


【解决方案1】:

我觉得这很有帮助:

101 LINQ Samples

a good post on joins

【讨论】:

  • 一个很好的资源。另一个“101 LINQ 示例”存在 - 用于 VB.NET。 +1。
  • 我发现 101 非常适合示例,但我有点想念基本的“这是 LINQ,这就是它的阅读方式”
【解决方案2】:

我的建议是让你的同事下载LINQPad

该软件有一些教程应该涵盖基础知识,它将为他们提供一个几乎可以立即看到结果的环境。

【讨论】:

  • 仅仅下载 LINQPad 并不能完成这项工作...我需要输入信息才能为他们举行会议。除此之外,他们永远不会使用 LINQPad,因为我们从不直接连接到 MSSql 左右。 (一切都通过 ESRI 的 ArcSDE)
  • @cyberzed 让他们下载 LINQPad 进行培训。使用教程训练他们(您可以让他们连接到虚拟 AdventureWorks 数据库或创建一些样板脚本并使用 LINQ to Objects)。除了培训之外,他们不需要 LINQPad。
  • 嗯,我更愿意教他们与我们的工作相关的东西。如果您对数据一无所知,我总是发现会话是半令人不安的。出于某种原因,我和我的同事都没有对 AdventureWorks db 犹豫不决。
【解决方案3】:

我用的两个是

Hooked on Linq

MSDN 101 samples

【讨论】:

  • MSDN 101 示例很方便! (即使 MSDN 仍然在 C# 的“未来版本”下有它们。)
【解决方案4】:

购买办公室一份 100 份 Jon Skeet 的 C# In Depth。它不仅涵盖了 LINQ 语法和 lambda 表达式,也是让人们了解自 C# 1 以来语言变化的良好入门。

http://csharpindepth.com

【讨论】:

  • 我喜欢这本书,因为它构建了 C# 3 中的所有新特性,所有这些特性基本上都是为了支持 LINQ。
  • 我可以建议购买办公室几份份而不是一份吗?拥有一份紧急备份副本永远不会有什么坏处;)
  • 完全正确。购买十几箱 C# In Depth 并将一些异地存储在环境受控的存储设施中,因为您永远不知道灾难何时会发生。安全总比后悔好。
  • 嗯,我会说 3 pr。开发人员...一个在办公室,一个在家里,一个在手提电脑的包里:) PS我这个周末去看看,下周可能会戳老板至少1份(嗯,我现在必须做点好事,因为我只是怀疑Skeet先生的话(我会买你下次在英国喝啤酒))
【解决方案5】:

有一个nice one on MSDN

【讨论】:

  • 用头撞桌子我怎么会错过那个?
【解决方案6】:

如果它不是免费的,Tekpub 上的Mastering LINQ Series 很棒。这家伙使用“普通”C# 代码然后使用 LINQ 展示了一个概念(例如过滤数据的 foreach 循环)。

根本没有 L2S,而是所有底层概念。

【讨论】:

  • 同意这个,TekPub系列不错。导师(因为想要一个更好的词)贾斯汀·埃瑟里奇(Justin Etheridge)有一个很棒的博客……请参阅我的答案:)
【解决方案7】:

另一个答案已经提到了 Justin Etheridge 在 TekPub 上的系列,这很好。 Justin 还写了一篇比较 LINQ 和循环的好博文,值得一看:http://www.codethinked.com/post/2009/06/15/Life-After-Loops.aspx#continue

【讨论】:

    【解决方案8】:

    您的团队中是否有人熟悉 SQL?我并不是要关注 Linq2SQL,但我发现熟悉 SQL 的声明性性质(表达你想要什么,而不是如何)的人似乎能更快地掌握 LINQ。他们也许可以帮助您解决剩下的问题。

    【讨论】:

    • 团队中的每个人都知道 SQL,所以诀窍是确保他们理解语法,因为它是一个轻微的变体 :)
    • 细微的变化有时也会让我感到震惊 - 但熟悉“what not how”是学习 linq 的一大胜利。
    【解决方案9】:
    【解决方案10】:

    我学到了很多关于它的方式是使用 ReSharper。 ReSharper 5 在这方面的功能是对 4 的相当大的改进,事实上……建议和轻松地将循环转换为 LINQ 方法链。

    当然,您也希望他们学习,因此让他们编写它以及拥有类似的工具非常重要。

    【讨论】:

    • 除此之外,我们还必须在 ReSharper 上投入资金......再加上让 66% 的开发团队相信插件可以帮助他们(我目前正在使用 CodeRush,但其中一些其他开发人员认为根本不需要它)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 2014-03-05
    • 2012-04-24
    • 2010-09-06
    • 2011-05-18
    • 2012-06-02
    相关资源
    最近更新 更多