C#开篇浅论内容知识
C#开篇浅论内容知识
时间过得真快,一转眼就是过往云烟埃回首看一下,C#从最初的1.0 发展到现在的3.0了,历经了数载风雨。这一门新型的语言,在Anders Hejlsberg(前Borland 的首席体系结构设计师)与Scott Wiltamuth等程序开才的带领下发展之快,也是大家有目共睹的。经常可以看到很多人在网上拿java和C#来比较,争个面红耳赤,最终还是没有一个结果。在此我不想再讨论java与C#孰优孰劣.他们各有各的优势,JAVA凭心而论,发展的确比C#要成熟一些,毕竟比C#先出道好些年。其实试想一下即便再强大的语言,如果开发者没有一个好的编程思想,那又怎么样?其总言之,不过是一门语言而已,不过是一个工具而已。本来在写这篇文章之前,本来想写一篇更贴近技术的文章,但是经常在网上很多人学习C#很迷茫,不知道自已如何的走下去。“授人以鱼,不如授人以渔”,在此我谈谈我个人的如何学习一些浅薄的见解。
先简单的介绍一下我自已吧!本人毕业于湖南师大理学院,大学生生活,我想有过大学经历的人都会有所体会,计算机系的大部份的人大学的生活很大一部份是在游戏中度过的,更何况本人在读大学的时候正是游戏的顶峰期。在学校里面学的东西感觉都是应付考试,什么pascal,C,C++,在大学里面都学过,当时也没有仔细出来好好研究一下,纯粹为了考试而考试,真正好好的学习C++是大学的最后的一年,我记得当时的时候我用一年的时间看了<<C++ Primer>>(虽然从字面上看是入门C++书,但个人感觉还是有一定难度的),<<windows 程序设计>>(太经典了,至今还用做参考书),候老师的<<深入浅出MFC>>,总体而言看懂也就60%多吧,毕竟多少还是有点基础的,毕业后到了北京的一家软件公司,工作半年多后,公司新成立一个.NET研发部,并委任本人担任项目经理助理,由于本人一直从事windows做程序,所以也没有反对,于是转向C#,便是一件顺理成章的事情了。说白了,我也就是从C++转型过来的程序员。
掌握任何一门技术都是一件非常不易的事情,特别是做程序开发。其实在我看来,个人的学习能力是一方面,天才毕竟是少数,熟练使用(特别不喜欢用精通两字,以前记得人民邮电出了一本书<<21天精通C++>>,个人执一直保留意见)一门语言能否成功关键在于毅力和恒心。每个人在学习的过程中,总会觉得自已的水平停止不前了,很难再进步了,也就是常说的超越自已。其实这是通病,我也曾有过。学习C#,个人觉得相对于一门语言来说还是比较容易入门的。主要反映在以下几点:
1.其语法个人认为非常的优雅,比较接近自然语言(当然在dot net 中的"."号处理的不是很好,命名空间和类的实例成员没有很好的区别开来,用"::"+"."号来区分命名空间和实例成员会更好, 个人看法,有些武断!呵呵).
2.强大的VS2005。VS2005的IDE(集成开发环境)做得非常优秀,可以用几近完美来形容.用起来非常的顺手。这里提一下一个免费的轻型的开发工具SharpDevelop 1.0,如果用.net framework 2.0现在SharpDevelop 2.0正式版也出来了,这个工具的本身就是用C#开发的。界面类似于vs2003,操做起来也还算方便,适合初学者和电脑配置不是很好的人,不过如果有条件的话,还是直接上vs2005吧,因为SharpDevelop 2.0快捷键没有VS2005的全,相对于VS2005来说使用还是有些不方便,毕竟真的的团队开发,一般还是用VS2005的。当然最好二个都装上更好,最近本人在调试一段程序的时候,居然发现全局的钩子函数在VS2005里面不支持调试。后来切换SharpDevelop 2.0来调试成功.所以最好"一颗红心,两手准备".
3.详尽中文的本地帮助以及海量的联机帮助系统(即MSDN Library和MSDN,当然不仅仅是C#,还有其它语言,如VC,VB等) 。现在MSDN的中文版不会比英文版迟多久,这样的话,即使英文基础不好的人也可以得到第一手资料,联机的MSDN整个网站有超过1.5TB(1500GB)的软件和文档。相对于其它语言的全英文的帮助系统会会更有利于理解一些。所以新手一定要学会查msdn.一般MSDN Libary会随安装盘一起。
有了以上的一切,应该更加使我们能够快速掌握这门语言,但为什么我们还会对C#一头雾水?有些C#初学者可能还有别的语言的一些基础,为什么还会出现这样的情况?一个功能或称之为一个模块下来,学了几个月的C#居然不知道从何下手。debug老是通不过,甚至怀疑是C#编译器的bug?于是开始为自已找各种理由,学了两个月还是这样,再换一门语言再试试..............。如果你真的按最后一点去做的话,就完了。可以说如果执有这种思想去学任何一门语言都会矢折的。找出出现错误的原因正是程序最大的乐趣之一,一如即往的坚持下来你会发现你写的代码的错误率会越来越低。当然这可能需要比较长的时间,但请相信我,时间并像你所想像的那样长。你可以通过以下几种方法来提高自已.
1.多读代码,网上很多好的代码,不要为了实现功能而简单的复制+粘贴,"复制+粘贴"只要会操作电脑的都会,关键学会作者的思想(非常重要啊).
2.多写代码,然后再不断的改进.
3.多读好书,不推荐读电子版的书,还是买传统的印刷版好,虽然可能要花一些银子:),但你想像一下,本来写程序就要面对电脑,再每天对
着电脑看书,健康还是非常重要滴!
4.多多交流.与同行之间的交流也非常的重要,即便可能他不是从事C#开发的.要知道程序设计是相通的。我现在就在把JAVA里面的一些思想
4.多多交流.与同行之间的交流也非常的重要,即便可能他不是从事C#开发的.要知道程序设计是相通的。我现在就在把JAVA里面的一些思想
放到C#里面来做。说到这里的同时,欢迎大家跟我一起来交流.以后大家可以称呼我叫小汤,QQ:24046222.
5.学会休息.遇到实在想不到的问题。可以先放一放,看一下窗外的景色,或者干脆玩一会游戏,呵呵,轻松一下,再回到问题当中去,有时
5.学会休息.遇到实在想不到的问题。可以先放一放,看一下窗外的景色,或者干脆玩一会游戏,呵呵,轻松一下,再回到问题当中去,有时
候你会发现原来不过如此。
6.及时总结经验.你可以做成书面的,或是电子版的."不积小流无以成汪洋","好记心比不过烂笔头",对以后的查阅是有很大帮助的。
好了,以上都是个人一些愚见,真的很晚了,明天还要上班。下篇我将结合一些代码实例来说明这六点学习方法的重要性.先预祝大家学习愉快!
6.及时总结经验.你可以做成书面的,或是电子版的."不积小流无以成汪洋","好记心比不过烂笔头",对以后的查阅是有很大帮助的。
好了,以上都是个人一些愚见,真的很晚了,明天还要上班。下篇我将结合一些代码实例来说明这六点学习方法的重要性.先预祝大家学习愉快!