您的当前位置:首页C#期末总结

C#期末总结

2022-08-26 来源:乌哈旅游
C#期末总结

接触C#已经有半学期时间,对C#感触颇多。C#作为逻辑性极强,功能强大的程序编程语言,仅仅学习半学期是远远不够的,希望自己能在这条路上不断前行,能够活到老学到老。 跟绝大部分的初学者一样,当看见密密麻麻的代码,就觉得这会是一门枯燥无味的课程。但在平时生活中使用各种功能强大的app,应用程序等时,我又会对程序背后的代码感到好奇。就是在这样矛盾的心情中,我一点点初步掌握了C#。

C#中最难理解也是最有意思的莫过于类的使用了。总的来说类是属性相同的方法或对象的集合。编程语言中的类较为抽象,难以理解。编程语言中类的思想在现实生活有许多体现。比如我们通常会把马路上所有的四轮交通工具归为一类----汽车,在生物学中也使用界、门、纲、目、科、属、种把所有生物分级分类。似乎这样想,类很好理解。但在具体编程中会遇到许多问题,比如类成员中各个成员变量的访问权限问题以及类与类之间的逻辑关系问题,等等。解决这些问题,需要对事物和目标有准确的理解和把握,当然扎实的C#功底基础也是必不可缺的。如果能够充分使用类,那么代码的编写会变得井井有条,至少代码会看上去富有生命力。

编程的过程自然枯燥无味,但当看见自己编写的程序运行成功,那种满足感不言而喻。例如本学期的贪吃蛇游戏编程过程,就让我感触颇深。(首先必须承认的一点就是贪吃蛇游戏的主体代码是我借鉴网上大神,光是看懂捋清大神的代码就花了我一星期的时间,接下来就是添加完善代码)首先想要在游戏开始之前添加一个难度选择功能界面,这就必须解决两个问题:一个是怎样控制两个界面(难度选择界面和游戏界面)出现先后次序问题,另一个是如何保存已经选好的难度选择并在游戏中体现出来。对于第一个问题我的解决方案如下:先在speed.cs(难度选择代码区)文件中加入”this.Close();”语句;再在program.cs(程序的主入口)文件中加入”Application.Run(new Speed());”和”Application.Run(new form());”语句。加入”this.Close();”语句的目的是当难度选择完成后让难度选择界面自行关闭;加

入”Application.Run(new Speed());”和”Application.Run(new form())”的目的是控制两个界面先后出现的次序。这个问题的解决过程还算顺利,它主要涉及函数调用。第二个问题的解决就比较难,大概耗费我两星期的时间。第二个问题属于在类与类之间调用变量问题。这一类问题在各种编程中会常常遇到。通过查各种资料和不断试验,我的解决方案如下:先添加一个新类PublicClass,然后在PublicClass定义一个静态变量z,再在主代码区调用z。添加新类的目的是使代码简洁明了并方便后期修改,定义变量z的目的是将难度选择值赋给z。这两个问题解决使得贪吃蛇程序能够顺利运行。但顺利运行并不代表这是一个合格的程序,同学反映说这个程序看上去并不是很美观,我意识到还需要在用户体验方面下工夫,没想到这给我带来不小的麻烦。我的计划是用图片代替方块来显示蛇身,但我错误以为只要将定义方块的函数修改成绘画图片的函数就可以了,导致的结果就是程序运行崩溃。我不断翻看所有的代码,一遍又一遍试验,但都找不到解决的办法。就这样过了三四天的时间,我甚至有了放弃的打算。但或许是印证了那句话“山重水复疑无路,柳暗花明又一村”,主代码中有段注释引起了我的注意------”//画出方块并显示在画板上”,这时我才恍然大悟:原来不管是方块还是图片都要定义并使用draw()才能在界面上显示出来,定义方块的函数只不过定义了最基本的方块属性(形状,颜色,大小等)。如果需要更换蛇身图片,只需要在”draw()”中更改就可以了(因为图片是从网上下载,图片的各个属性已固定无需再定义)。最终成功的给蛇换上了一件”新衣服”,程序的用户体验性大大提升。

完成贪吃蛇的编程后,我深深体会到C#是一款面向对象的编程语言。把解决问题的各个因素分门别类,实现分工合作以达到高效率的解决问题。就像现实中的社会分工一样,每个人都在各自的岗位上辛勤劳动,无论工作大小,国家社会离不开每个人的奉献付出。

C#中还有其他有趣的控件,比如timer,picturebox,textbox等。灵活组合这些控件,能够编写出很多有意思的小程序。曾经看见网上有C#计算器,C#计时器的教程,觉得很有意思并尝试了一下,但发现很难实现程序,究其原因是因为作者的思维与我的思维有着很大的不同,这说明每个人解决问题的方式不同,而程序便是程序员思维的体现。每个自己编写的程序都是与自己的思维相通的,这么理解的话可以把程序看成自己思维在其他事物上的拓展,其乐无穷,乐此不疲。或许这就是为什么世界上有那么多的天才编程员愿意夜以继日的编写程序,或许这也就是为什么好莱坞每每拍出人工智能统治世界的科幻片总能席卷全球票房。名侦探柯南剧场版《贝克街的亡灵》中的超级人工智能诺亚方舟在天才计算机少年泽田弘树死后代替其意志继续在日本存活下去。想想确实可怕,人工智能究竟会改变人多少。计算机注定改变每个人的生活。因此掌握计算机无疑就是掌握了未来。

由于半学期的学习时间实在太少,想要深刻理解并灵活运用C#是需要多年的实践学习的。光是上课时间认真听讲是远远不够的,还需要课下不断的练习钻研。学习c#语言不能停留在学习它的语法规则,而是利用学到的知识编写c#语言程序,解决实际问题。即把c#语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c#语言、自己编写的程序是否能够正确地解题。语法是学习编程语言的关键,光靠背语法,是远远不够的(其他语言学习也是如此)。记笔记是上课时候必须要做的一件事,但不能认为做了笔记就不用上课认真听讲了。C#作为一名理科学科是需要不断深入理解实践才能掌握的。有几点学习心得想分享一下:

1 .不要妄自菲薄 。不能因为遇到困难就不相信自己,每个人都是从零开始。 2 .坚持不懈。学习C#是件漫长的过程,需要不断激励自己鼓励自己。

3.多和他人交流。一个人的力量是渺小的,多个人相互交流不断切磋才能不断进步。 4.不要偷懒,经常思考。C#中有许多思想是和现实生活相通的,不断对生活感悟对生活进行反思,从生活中寻找灵感,这样能提高对C#的兴趣以及学习的主动性和趣味性。

5.经常上机实验,动手操作。实践出真知,在实践中理解那些深奥晦涩难懂的专业知识。 6.在编程时除了要认真谨慎之外,更重要的是掌握基本的知识,比如if语句和while语句的区别。初学者常常会被这两个语句搞得晕头转向,在编程过程也不会太在意两个语句的使用范围。再比如C#中命名空间,这是常常忽略的方面,初学者一开始编程时会发现定义一个变量或者函数常常会遇到系统提醒错误,开始认真检查下来,却怎么也找不到错在哪,这很有可能就是命名空间错误。

大学之前从未接触编程语言,对于C#的学习也是在一时兴起和怀疑自己中不断转换。平时会去图书馆借些C#书籍,但总有种意犹未尽的感觉。这种感觉或许来自对编程语言的兴趣,希望自己能学到更多关于编程语言的知识。

因篇幅问题不能全部显示,请点此查看更多更全内容