当你能创建类并完成简单的任务(例如GUI界面、读取文本文件等)后,下一步应该去哪里?我已经开始阅读《代码大全2》这本书了,但它更像是一本通用的编程书。接下来应该学习哪些主题?
当你能创建类并完成简单的任务(例如GUI界面、读取文本文件等)后,下一步应该去哪里?我已经开始阅读《代码大全2》这本书了,但它更像是一本通用的编程书。接下来应该学习哪些主题?
我认为,在某个时候,这不再是关于主题。而是关于实践。你得写代码,而且你得写很多。
人们经常告诉你在学习一门新语言时要找到一些特定的问题来解决,这是完全可以的,但如果有一个应用程序或应用程序的功能使你非常喜欢或者非常钦佩,请尝试自己构建它(或其中的部分)。更重要的是,如果你想知道“嘿,这个应用程序怎么做到了那个?!”试着去构建它。
你的许多项目可能永远不会超出你的桌面,但你所学到的知识、经验和工具将成为你可以运用到每一个后续项目中的东西。
虽然你永远不知道,但其中一个小爱好项目最终可能会为某个人解决问题。
不是要反驳那些说“写代码”的人,但下一个你应该学习的主题是CLR的基本原理——引擎的工作原理,这个引擎坐落在所有这些库背后。Richter 的 "CLR Via C#" 是一个很好的学习资源。
编写一个桌面版的RSS阅读器。您将接触到许多不同的领域(解析文件、图形应用程序、HTTP、互联网的不稳定性),并且您实际上可能会每天使用这个结果。选择一个具体的目标或特性来工作,将有助于您比抽象的东西更快地学习。
我同意到目前为止大部分答案,但我认为如果你想成为一名更优秀的开发者,你可以从不独自行动中获得很大的好处。尝试寻找一个能够指导你的人。多年来,我通过与比我更聪明、更有经验的程序员合作,在深度理解方面取得了最大的进步。(他们现在仍然是 :-) )
学习另一种语言并将所学应用于C#。
F#,Scala,Haskell - 选择很多 :)
尝试阅读Mono源代码,了解用C#编写的C#编译器是如何实现的。您将学习到关于语言、编译器和计算机架构等方面的知识。这就是源代码项目的巨大好处 - 您可以从中学习。
浏览Stackoverflow上有关C#主题的问答。 :-D