我最近使用Komodo Edit和其他更简单的编辑器使用Python,但现在我正在做一个使用VS 08在C#中完成的项目.我将非常感谢有关如何尽快在该平台上获得高效的任何提示.
至于熟练使用C#,我强烈建议在深度编程C#和C#.
对于Visual Studio,开始在IDE中大量浏览,玩转,熟悉它.从简单的项目开始,探索所有不同的方面.了解如何优化Visual Studio并熟悉IDE的一些出色的键盘快捷键/隐藏功能.
绝对要做以下每一项至少一次:
项目:
创建一个简单的控制台应用程序(例如hello world)
创建一个类库(托管的.dll)并从您创建的另一个应用程序中使用它
创建一个简单的Windows应用程序
创建一个简单的asp.net Web应用程序
调试:
调试命令行应用程序
熟悉:断点,本地人和观察窗口,跨越,步入,退出,继续,停止调试
创建一个使用类库中的函数的命令行应用程序.存储库的DLL和符号文件(.pdb)但删除源代码,在应用程序进入库时通过应用程序进行调试
调试到Web服务
了解如何使用ILDasm和ILAsm
命令行:
熟悉Visual Studio命令行环境
仅使用命令行构建
使用devenv.exe/debugexe从命令行进行调试
从命令行使用ILDasm/ILAsm将一个简单的应用程序反汇编为.IL,将其重新组合成一个不同命名的文件,测试它是否仍然有效
测试:
创建单元测试(右键单击方法,选择创建测试的选项)
学习如何:运行所有单元测试,在调试器下运行所有单元测试,重新运行失败的单元测试,查看测试失败的详细信息,运行单元测试的子集
了解如何收集测试的代码覆盖率统计信息
来源控制:
了解如何在使用VS开发时与您选择的源控制系统进行交互
重构等:
熟悉所有内置的重构(特别是重命名和提取方法)
使用"转到定义"
使用"查找所有参考"
使用"在文件中查找"(ctrl-shift-F)
IDE和键盘快捷键:
了解如何将设计师用于网络和winforms
熟悉Solution Explorer窗口
尝试不同的窗口布局,直到找到一个舒适的窗口布局,稍后继续尝试,看看它是否仍然是最佳选择
了解intellisense的细节,尽可能地利用它
了解您所做的一切的键盘快捷键
我个人会首先集中精力学习C#和.NET的核心部分.对我来说,这意味着编写控制台应用程序(而不是Windows窗体)来试验语言和IO等重要方面.当您对基础感到满意时,请转到您的项目所需的"外围"技术(WinForms,WPF,ASP.NET,WCF等).
就书籍而言,我可以在Nutshell和Accelerated C#2008中推荐C#3.0.链接是我对书籍的评论.两者都涵盖语言+核心库.我不会太担心LINQ的开头 - 在你处理LINQ之前,对语言的其余部分,尤其是代理和泛型,感到很自在.那时,在你开始使用LINQ to SQL或Entity Framework之前,我完全建议使用LINQ to Objects一段时间.(另一方面,如果你需要使用XML,我会直接使用LINQ to XML - 它是一个完整的XML API,而不仅仅是一个LINQ提供者.它比普通的DOM API好得多.)