C / C ++用户简介C#

时间:2010-04-11 18:16:10

标签: c# c++

我有6年以上的C / C ++经验。明天开始大学任务,我将不得不使用C#。因此,我希望有一个您认为重要的链接/资源列表或广泛的教程 - 简而言之,您认为值得的一切。

编码风格,最佳做法,......

(我不知道我将使用的C#环境的任何细节(IDE,OS,w / e),第一次会议是明天晚上)。

(我之前从未编写过C#)

还有一件事:我想使用Linux(kubuntu 10.4)。有关Linux的IDE /环境/教程建议非常受欢迎。

感谢您的帮助!

7 个答案:

答案 0 :(得分:7)

Charles Petzold:.NET book zero

答案 1 :(得分:5)

Quick introduction to syntax + essentials of a language.

Obvious link to an overview of a platform :)

Best practices discussed here, on SO

当有足够的时间可用时,最好还是阅读书籍。我个人开始通过阅读Pro C# 2008 and the .NET 3.5 Platform

来学习c#

P.S。 如果您想使用linux,请转到:

IDE

Framework

答案 2 :(得分:2)

当我从C / C ++切换到.NET时,我发现Charles Petzold的免费PDF非常有帮助。

http://www.charlespetzold.com/dotnet/

答案 3 :(得分:1)

c#基本上有一个编辑器,我猜80%的c#开发人员使用Visual Studio。

开始下载购买/下载它。您有快递版,免费且供个人使用。它只是一个简单的IDE而没有任何花哨的东西。 如果您有一些钱可以花(或者可以通过大学获得),那就去找一个更高级的VS,比如专业或团队系统。两者都包括表单设计者和更高级的功能。

对IDE来说太多了。

我想如果你从C ++转到C#,最大的“问题”将是使用.NET框架中的现有功能而不是自己制作。当人们从C ++(甚至是使用boost)转到.net时,这就是我经常看到的。框架是如此之大,几乎包含所有内容,所以每当你发现自己写一些辅助。如果类似的东西不存在,那么该类不是特定于域的,在手册中查找。可能性是他们在框架中。

最后,学会使用lambda,你会非常喜欢它们!这是c ++本身不支持的唯一值得注意的事情。像增强lambda这样的所有扩展都很复杂,而且非常优雅,通常不值得使用它。

答案 4 :(得分:1)

我会从两本书开始:

  1. “C#in a Nutshell”,O'Reilly(最新版本涵盖C#4)。
  2. “框架设计指南:可重用.NET库的约定,惯用法和模式,第二版”,AW
  3. 通过Safari Books Online的30天路径,您可以访问这两个版本,直到您决定是否适合您为止。

    最初关注#1。

    当我学习C#1(使用“C#Essentials”几个小时的.NET 1.0时)我只需要显示语法和语义,因为我已经知道如何编程。

答案 5 :(得分:1)

答案 6 :(得分:0)

如果你可以编写C ++,你可以很轻松地编写C#。但是C#语言只是.NET开发人员的一小部分,这是.NET Framework的经验,你将在未来一段时间内失踪。基类库有一个小的通用核心和几个几乎完全不同的工具包(WinForms,ASP.NET,WPF,WSDL + WCF,工作流基础),一个非常有经验的C#开发人员可能几乎不知道其中几个这些专业

在你发现你的任务是什么之前,我们不会知道你需要熟悉哪些领域,并且不能给出很多指示。

对于所有类型的本机Windows函数,您可能会发现在pinvoke.net上引用“替代托管API”很有用。