代码之家  ›  专栏  ›  技术社区  ›  S.C. Madsen

接下来要学什么:F或LINQ

  •  8
  • S.C. Madsen  · 技术社区  · 15 年前

    刚刚开始用C和.NET把我的脚弄湿了,到目前为止还挺喜欢的。我想我已经掌握了C语言结构的主要要点,那么我应该深入研究下一个技术:F或LINQ?

    我的目标是“拓宽我的视野”和“提高我的简历”,没有特别的顺序。

    更新:通过阅读你的回复,我目前倾向于学习Linq,因为这是“所有.NET程序员都必须学习的”。我将把这个问题留一段时间,只是想得到更多的机会。谢谢你的回答。

    更新2:好的,所以从阅读你的回答来看,linq似乎有最简单的学习曲线,并且适用于c和f,两者都适用,所以与linq共度的时间不会“浪费”,即使我最终使用f。再次感谢您的回答。

    8 回复  |  直到 15 年前
        1
  •  19
  •   Aurril Thorbjørn Ravn Andersen    15 年前

    与f相比,linq不是编程语言,但您应该学习linq,因为它将使您在c和f中的生活更轻松。

        2
  •  6
  •   Rune    15 年前

    这取决于你需要做什么。

    如果您想为Internet构建WPF应用程序、ASP.NET或Silverlight应用程序,请深入研究C和LINQ。如果你想建立科学的,财务数字处理应用程序,去与F。如果你只是想找点乐子,那就两个都去:—)

    请注意,学习linq所需的努力和学习f所需的努力是不同数量级的:linq本质上只是一个库和用于构建查询的特殊语法,如果您习惯于编写SQL,您会发现它非常容易掌握。 另一方面,如果你习惯于用C等语言进行命令式编程,那么掌握F需要一种范式转换。因此,F也是最能拓宽你视野的技术(当然取决于你目前的技能)。

        3
  •  3
  •   SetiSeeker    15 年前

    Linq和F非常不同。

    f是一种独立的语言,但是linq是一种工具,或者您可以在语言中使用的特性。

    Linq非常棒,它将简化您在许多领域的开发,并从长远来看提高您的生产效率。

    Linq对于所有的dotnet开发人员都是必须的。

    下面是一个链接,显示了使用LINQ的一些方法 Linq 101

        4
  •  3
  •   cfern    15 年前

    在我有机会为工作学习C 3之前,我把F作为一种爱好花了一些时间。事实证明,我已经在f代码中大量使用了linq,而不知道它是以序列表达式的形式出现的。当我了解Linq时,我立刻就认识到了它,也立即理解了延迟执行的原则。

    所以如果你学了f,你就已经知道linq了。然后只需要查找语法。

    除此之外,学习如何编程惯用f将教您如何像函数式程序员一样思考。了解如何使用递归、内存化和不可变值编程也将帮助您构建更干净的C代码(当然是使用LINQ)。这是我的经验。

        5
  •  2
  •   Chris Meek    15 年前

    LINQ(语言集成查询)是C中的一种小型嵌入式语言,它允许您以非常自然的方式处理对象集合,例如

    int[] numbers = new int[] {1,2,3,4,5,6,7,8,9};
    
    var smalloNumbers = from n in numbers where n < 10 select n;
    

    这是有效的c,linq只是语言的另一个特性,它恰好与vb共享。相关技术使用Linq访问数据库存储(Linq to SQL Linq to NHibernate等)或其他有趣的服务(如Amazon或eBay等),但Linq本身可以在C语言(Linq to Objects)中学习,而无需使用数据库或类似的东西。

    另一方面,F是一种完整的“功能性”语言,作为一种通用语言,特别擅长处理大量的事物集合、映射减少样式问题和递归处理。

    因此,总的来说,我建议您先使用linq以及c~中可能遗漏的其他语言功能(linq还将引导您使用lambda表达式、匿名类型和var关键字(如果尚未遇到),然后将f作为以后的新学习项目。作为一个C开发人员,我每天在代码中使用LINQ。

    希望有帮助。

        6
  •  1
  •   Pratik Deoghare    15 年前

    IMHO

    弗斯 然后 LINQ

        7
  •  0
  •   Benny    15 年前

    他们两个都很好掌握。

        8
  •  0
  •   CruiZen    15 年前

    为什么不在.NET空间中使用其他框架,如wcf、wpf、asp.net mvc、一些.NET ORM等? f用于.NET平台上的函数式编程语言。如果您没有使用另一种函数式编程语言,它是一种不同的范例,学习曲线将比LINQ更陡。学习LINQ的最佳方法是imho将其用于玩具或现实项目,您使用的是C和SQL Server数据库。Linq没有太多新的句法成分。
    另一方面,虽然上面的内容也适用于学习f,但是您可以使用f来解决任何编程练习或类似euler的项目难题,以熟悉编程结构。