• TJU_SCS_C#学习笔记(2)


    一.课堂内容

      这是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!

  • 相关阅读:
    【ArcGIS 10.2新特性】ArcGIS 10.2 for Desktop 新特性(二)
    手势(Gesture)的增加和识别
    [转]C#自定义开关按钮控件--附带第一个私活项目截图
    当年的试用期周工作心得
    FREESWITCH SEESION
    基于三星ARM9(S3C2410)的交通违章抓拍系统的开发
    Apache Kafka: Next Generation Distributed Messaging System---reference
    How and Why Unsafe is Used in Java---reference
    基于keepalived对redis做高可用配置---转载
    Java获取真实的IP地址--转载
  • 原文地址:https://www.cnblogs.com/blueContra/p/4358477.html
Copyright © 2020-2023  润新知