我有6年以上的C/C++经验。明天开始大学作业,我将不得不使用C#。因此,我想列出一些您认为重要的链接/资源或广泛的教程 - 简而言之,您认为值得的一切。C/C++用户简介
编码风格,最佳实践,...
(我不知道C#的环境中的任何细节,我将使用(IDE,OS,W/E),第一次会议是明天晚上) 。
(我从来没有编码前C#)
一两件事:我想使用Linux(Kubuntu的10.4)工作。非常欢迎有关Linux的IDE /环境/教程建议。
感谢您的帮助!
我有6年以上的C/C++经验。明天开始大学作业,我将不得不使用C#。因此,我想列出一些您认为重要的链接/资源或广泛的教程 - 简而言之,您认为值得的一切。C/C++用户简介
编码风格,最佳实践,...
(我不知道C#的环境中的任何细节,我将使用(IDE,OS,W/E),第一次会议是明天晚上) 。
(我从来没有编码前C#)
一两件事:我想使用Linux(Kubuntu的10.4)工作。非常欢迎有关Linux的IDE /环境/教程建议。
感谢您的帮助!
目前基本上是由我猜C#开发人员,Visual Studio中80%是用c#一个编辑器。
开始下载购买/下载它。你有快速版,这是免费的,供个人使用。这只是一个简单的IDE,没有什么奇特的。 如果你有一些花钱(或可以通过大学),去一个更高级的VS版本,如专业或团队系统。两者都包括表单设计者和更先进的功能。
这么多的IDE。
我想如果你从C++到C#的最大“问题”去会在.NET框架,利用现有的功能,而不是自己做吧。当人们从C++(甚至是boost)升级到.net时,这就是我经常看到的。这个框架非常大,几乎包含了所有内容,所以每次你发现自己写了一些辅助。类不是特定于域的,如果类似的东西不存在,则在手册中查找。可能性是他们在框架中。
最后,学会使用lambda的,你会很享受他们!这是C++自身不支持的唯一有意义的事情。像增加lambda一样的所有扩展都非常复杂,并且远不那么优雅,通常不值得使用它。
我认为80%太低了。 ':)'我首先看看框架的陈述。 (Lambdas,顺便说一句,将成为C++ 11的一部分。) – sbi 2010-04-11 18:54:12
当我从C/C++切换到.NET时,我发现Charles Petzold的免费PDF非常有帮助。
我会用两本书开始:
Safari的联机丛书的一个30天的线索会给直到你决定他们是否可以访问两个套件你)。
最初只关注#1。当我学习C#1(而.NET 1.)时,0几个小时的“C#Essentials”我只需要一些东西来显示语法和语义,因为我已经知道如何编程。
你是一个像我这样的音频思想家嗯:)“因为我已经是新的如何编程”。 感谢您的提示。可悲的是这些书很贵。提示是让他们更便宜(除了图书馆)。 – 2010-04-11 18:31:40
@Ronny:“C#Essentials”,一位知识渊博的同事,这是我从C++到C#的所有经历(差不多20年)。这应该够了。请参阅此处:http://books.google.de/books?id=pbzW8VGuqrIC&printsec=frontcover&hl=zh-CN&source=gbs_v2_summary_r&cad=0。 – sbi 2010-04-11 19:01:26
@Ronny:更快速地打字。 – Richard 2010-04-12 07:37:05
Best practices discussed here, on SO
这是更好的阅读课程的书籍,当足够时间可用。我个人开始通过阅读学习c#Pro C# 2008 and the .NET 3.5 Platform
P.S. 如果你想使用Linux系统,在这里你去:
谢谢。 +1进行有用的编辑。 – 2010-04-11 22:44:57
如果你能写C++,你可以写C#用很少的努力。但是C#语言是.NET开发人员的一小部分,这是.NET Framework的经验,您将在未来的一段时间内错过。基类库有一个小的公共核心和几个几乎完全不同的工具包(WinForms,ASP.NET,WPF,WSDL + WCF,Workflow Foundation),对于一个非常有经验的C#开发人员来说,可能几乎不了解这些专业中的几个。
直到你发现你的任务是什么,我们将不知道你需要熟悉哪些方面,并且不能给出很多指针。
对于各种本地Windows功能,您可能会发现在pinvoke.net上参考“Alternative Managed API”很有用。
downvote的原因是什么? – 2010-04-11 19:57:56
我没有投票下来。上段是全部bla。我不知道,因此我对此没有任何评论。 – 2010-04-11 22:50:51
重写了第一段,因为它并不简洁。感谢您的反馈。当你知道旧的API时,pinvoke.net是最有用的,无论你是从.NET(P/Invoke)中寻找使用它们的方法,还是寻找替代的规范.NET方法来做事大部分功能。 – 2010-04-12 14:36:02
老实说,我不会太担心它。你将不得不忘记你对内存管理的大部分了解,但它会很容易找到。 C#并不是特别难学,特别是如果你有编程经验的话。泛型可能需要一两次,但即使它们非常简单。通用集合即将成为你新的最好的朋友。 – 2010-04-11 18:19:17
很好听。 :)谢谢 – 2010-04-11 18:26:12
(我从来没有编码c#之前) - >真的是一个强有力的声明。在从嵌入式转向C#之前,我自己也有同样的担忧。那个时候我使用了C#作为傻瓜书。这本书很简单。 :D – Hanseh 2010-04-11 18:29:21