1、多练习,课本上的内容一定要通读,里面的示例程序要亲自测试,或许你会发现书上平时看不出来的小错误,另外,输入时候的手误也是难免的,那么在解决问题的过程中也会让你加深对某个知识点的理解,举例如下:
public class Contractors : IEnumerable
{
private ArrayList items = new ArrayList();
public IEnumerator GetEnumerator()
{
for (int index = 0; index < this.Count; index++)
{
yield return this[index];
}
}
public int Add(string Name, int Rate)
{
return items.Add(new Contractor(Name, Rate));
}
public Contractor this[int Index]
{
get { return (Contractor) items[Index]; }
}
public int Count
{
get { return items.Count; }
}
}
这里就有同学写成了IEnumerable,结果总报错,IEnumerable和IEnumerator长的又非常像,一不注意还真看不出来,在解决问题的过程中对IEnumerable接口又加深了理解,尤其对GetEnumerator()这个方法。
2、针对每一个涉及到的BCL中的Class通过Msdn查询它们详细的信息,作为书本上知识的补充,有时间的话Msdn上的例子也可以自己实践一下;
3、老生常谈,课前预习+课后复习!这条真理放到什么时候都不会过期,我们是人不是计算机,人学习就是个渐进的过程,不是一蹴而就的,你学来的知识不会真正让你掌握,掌握了也不会轻易离你而去。
4、注重实验——NOT“试验”,这里的实验是实地验证的意思,将老师课堂上所讲的内容,实际验证下,会加深对知识的理解;另外,在实验中也能锻炼一个人解决问题的方式方法。在网络时代,不知道利用网络是很无知的,更谈不上效率。网络是一个巨大的知识库,很多人将知识和经验通过网路进行分享,如果自己再不懂得如何去撷取的话,就太可惜了,要学会站在别人肩膀上。因此呢,搜索引擎的使用也是必备技能之一。
5、最好的学习方法就是去用,不但对书本上的示例代码进行测试,还能在实际生活中使用学到的知识解决具体的问题,这样一个过程,涉及到了软件研发各个过程,从做什么——软件策划,到怎么做——技术储备,再加上软件开发的过程经验,那么这是一个非常好的学习方法,当你实际这样做的时候,你就会发现当你要解决一个问题的时候,往往需要先解决另一个问题,也就是说知识点是相互依赖的,是网状的,在实践中学习,实践驱动的学习方式,往往比单独通过书本上学习更加的有趣和高效。
6、学习.net Framework,也离不开c#(vb.net这里不讨论),虽说学语言是软件过程中一个比较低级的阶段,但谁都要经历此阶段,只有经历它,才能超越它。c#是一种非常好的语言,很值得我们去研究下,里面有很多非常优秀的特性,很多都是跨语言通用的,慢慢体会软件开发的精髓——编程思想吧!
7、阅读相关资料,对教科书是个不错的补充,可以让我们对一个知识点进行全方位360度的观察,每种资料描述同一个知识点的角度都可能不同。Msdn和博客都是不错的信息来源,《c#高级编程》这本书不错,可以作为参考书用。
8、看开源软件的源代码,包括微软自己的PetShop源代码,学习其中的编程思想、软件架构,看一个构思巧妙、编码优美的软件源码就是一种享受,所以编程从某种角度讲是一种艺术而不止是技术。
9、思考.net Framework的由来,从更深的层次去学习,CIL汇编可以某种程度上管中窥豹,一览.net的设计思想,全局观可以让你加深对局部构成的理解。
10、最后,就是对于如何读书的建议,遇到一个新的知识点,刚开始云里雾里是很正常的,持续不断的阅读,不要停下来,也不要回头,坚持读完整个章节,总结来说就是:“先通读,再细读”,那么刚开始存在的很多疑惑都会自行消失,因为前后知识点连贯起来了,这也是一个读书技巧,与大家分享。
包括但不限于上述10条建议,任何有利于学习的建议都是好建议!学习就是未来!一起加油!