怎样由 C# 的「拖控件」阶段继续深入学习

找个公司做实际的项目。不过老实说,如果不是打算干这一行,或者做开源框架什么的,不懂泛型、接口问题也不大,如果不需要和Windows上的其他非.NET应用打交道,不懂COM+也没关系。
■网友
我也是菜鸟,非计算机专业,学这些全凭兴趣、百度和sourceforge...
说说我的学习经验吧。
=================
先从LZ说的那些引申一下,主要就是扩展....
控件:了解运行库的各种.net的类,方法,对象。动态创建对象、继承。
GDI+:了解DirextX组件。
线程:了解托管,线程池,并发,远线程。
数据库:了解结构,索引,加密,语句效率,算法,并行,Sqlite(开源跨平台嵌入式轻量)。
接口:了解低耦合封装、规范代码,规范文档和注释。
C#:顺便了解C++(C和C++的库),指针(C#可以用unsafe)……
=================
其他的一些东西
WinAPI:闭门造车神器。
汇编:程序原理,内存存储方式,等等
编译:看看.net的编译方式是什么、内存分配方式是什么,和C++有什么区别。
多语言:再学一种语言看看。
第三方:看别人的代码,用别人的控件,学别人的类库。
=================
我不是科班出身,路子肯定野。学的东西也乱。知识的获取途径就是那几个网站和那几本书,不说了。这里说说我是怎么学的....下面不同短落是同时的,而非顺序的。
做自己用的东西:就是做点自己有用的小程序。不一定复杂,但是基本上杂七杂八的知识很多,比如数据库,网络封包分析,通讯协议,系统文件存储方式等等。
做外包:赚零花钱,解决各种或复杂或奇葩或古怪的问题。
改游戏:先改数值,然后就是了解数据类型的存储方式,知道了指针和基址的概念,然后就是数据结构,存储设计,文件包的结构和打包封装,内存的结构,汇编和调试的知识,Hook、远线程、API,lua脚本,用的工具是CE+OD+Hexcmp等。
做游戏:先是用控件做扫雷什么的,开源的C++Galgame引擎Krkr。然后就是GDI+的gal。再然后就是DirextX的gal。工具一开始用的是VB/http://VB.net,后来觉得不行,就用了C#,再后来发现运行速度慢还没有基址身为一个爱改游戏的死宅做出来没有基址的游戏简直耻辱于是开始用C++....为了提高效率就了解了一下变量存储结构,文件封装,流行的数据库,网络通讯优化,再后来觉得IOS的游戏好X厉害就开始学ObjectiveC和xcode。Html5出来之后觉得做游戏不错又学了点。
=================
总结一下
我好像比较偏爱C++:实际上不喜欢。太麻烦了。但是毕竟是基础。这货有最多的资料文档,最多的项目,最多的大神和使用者。因为语言的特性的问题(偏底层,可控性高),啃啃这个,再看学其他的语言,会觉得一下子清晰了不少。
杂而不深:这是没办法的。我学东西都不能算是学出来的,而是宅出来的。不过既然同为非科班出身,我觉得应该还是有参考价值的。
说了这么一大坨,作为一个非专业的学习者,其实我的想法就只有一个:
跟着爱好走。另外会用控件,会语法,知道如何控制程序运行,当然算是会编程了。我觉得我会编程。

■网友
从控件满足不了你自己写控件开始
■网友
推荐一本书:《c#高级编程》,很厚但很全。可以解答你很多问题(里面有专门的章节讲述你所困惑的接口,泛型和com)。最新应该是第八版了
■网友
楼主,你让我想起了韦小宝,拿起一本书以为是武林秘籍,结果被告知那只是目录而已。很不幸的是,你看的这本书连目录都算不上,只是一个敲门砖,你算是踏进了net大门,但是要接着修行的话,还有太多东西要学。我建议你先规划一下自己,准备朝哪个方向发展,之后再考虑学以致用的问题。
■网友
【怎样由 C# 的「拖控件」阶段继续深入学习】 看清表象,了解本质


推荐阅读