首页 > Windows开发 > 详细

TJU_SCS_C#学习笔记(2)

时间:2015-03-23 00:21:00      阅读:286      评论:0      收藏:0      [点我收藏+]

一.课堂内容

  这是C#的第二节课,讲了一些关于C#的比较基本的东西,C#language fundamentals 以及 classes 和objects,由于都是OOP的语言,所以很多地方我都觉得和C++或者java非常类似。

  关于OOP,章老师又提到了面向对象语言的三个要素,封装Encapsulation,继承Inheritance,和多态Polimorphism。其中关于多态的含义我始终不是太理解,也在网上试着找了一些解释,比如

技术分享

比之前对多态的理解稍微深了一点点,但还是希望在日后的学习中慢慢体会。

 

二.学习内容

  1.首先是关于一些C#type的size问题,我重复了上课演示过的一些types之间的相互implicit translation,如

技术分享

以及

技术分享相近类型的转换必须注意size,小转大没问题,大转小可以使用explicit translation但必须保证不越界。

  2.关于{0}的用法上课没太听清,于是我课后自己试了一下,明白了{0}代表传入的一个参数,依此类推{1}则代表第二个参数,如下

技术分享

  3.接着我试了一下enum,一开始是这样的

技术分享

各种报错百思不得其解,上网找了关于C#enum的用法,还是没看出自己出了什么问题,知道两天后和同学的交流中才发现,应该这样写

技术分享

enum的级别应该是和class相近的,所以应该写在main函数外面吧,应该是这样……然后enum默认的定义对应的integer从0开始,增量是1。当把其中一个定义了其他的数如-50,接下来就默认从-50开始增量为1地递增。

  4.接下来我试了一下switch,while,for的用法,感觉和C++,java中大致没有区别,

技术分享

在while这里,正如讲到的,在c++中,一个非零数在statement括号内是等价于true的。

技术分享

技术分享

技术分享

技术分享

然后我试了一下foreach,这个用的不太多,不太熟,但是感觉挺强大的,

技术分享

但是在这里我感觉应该是可以的,不知道为什么不行,可能这个foreach和Java中的不太一样,不能用双层的foreach结构来对二维数组进行操作。

哦,对,我在百度的过程中发现了C#关于二维数组的定义,发现与C++和Java不太一样,如string[,],用了一个逗号表达二维数组而不是以前的[][]。

技术分享

  5.我跟着ppt的内容继续,

技术分享

这个能在定义variable的时候用这个叫三元操作符来着的东西,感觉挺好玩的,以前都是代替if语句使用的。

  6.然后就到了什么operator precedence,指令预处理?

技术分享

技术分享

其实我也不太懂这个,debug好像是内置的文件还是什么?VC_V7又是什么= =。

  6.最后我试了一下C#的class,

技术分享

然后这里提到的C#4.0的形参的initialization。

 

三.课后感想

  感觉这节课还是比较基础,和之前学到的大同小异,希望学到更精彩的东西,希望大家一起努力!Go ahead!

 

TJU_SCS_C#学习笔记(2)

原文:http://www.cnblogs.com/blueContra/p/4358477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!