代码改变世界

TJU_SCS_C#学习笔记(4)

2015-04-06 15:27  blueContra  阅读(252)  评论(1编辑  收藏  举报

一.课堂内容

  这周的课讲的内容比较多,有struct结构体,interface接口,以及C#数组中的一些特性,比如特殊的多维数组的声明方式,以及不规则数组还有模版,堆栈,字典等等,还有字符串string以及正则表达式的一些内容。

 

二.学习内容

  1.首先练习了关于接口的相关内容,以前在学C++,和JAVA的时候对接口都没有好好理解,在C#的课上才明白了到底什么是接口,接口和抽象类有点类似,两者均不可实例化,均可以被继承,然而抽象类只能被单继承,而接口可以被多继承,为了防止接口污染,所以接口不可以太多功能化,我做了一下简单的练习:

关于抽象类和接口的区别,我在网上还找到了这样的形容,我认为还是比较容易帮助我理解的:

 

  2.在关于数组的练习中,首先params这个新的keyword以前也没见过,网上找来一些解释:

照着ppt上的例子试了一下,得到如下结果:

  关于多维数组的申明我之前在第一次的笔记中已经探索过了一些,再此不再赘述。

  不规则的数组还是比较新鲜的,我又仿照示例做了下面的练习:

  还有特殊的申明lower bound和upper bound的数组:

  还有字典dictionary,用<key, value>的pair来存取数据并且进行处理,如下练习:

或者在foreach里面用key来访问value,如下:

以上就是我对数组做的一些小练习。

 

  3.然后是字符串,ppt中说,字符串是不可变的unicode序列,以下练习可以证明其不可变性:

  然后关于后面的有关正则表达式的就不大明白了,比如这个:

@关键字是取消转义,Regex可以用静态方法实例方法来对字符串进行搜索,但是正则表达式的元字符实在复杂= =,一时半会记不住。

 

三.课后感想

  每门编程语言都有相通的地方,但是也有不同的各自特别的地方,道理都是一样的,只是形式上略有差别,多学多问多看,go ahead, C#!