zoukankan      html  css  js  c++  java
  • 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!

  • 相关阅读:
    reduce 一知半解(一):根据id合并两个数组
    textarea去除右下角默认样式
    css禁止点击事件
    poj 2723 二分+2-sat判定
    hdu 3062 2-Sat入门
    poj 3694双联通缩点+LCA
    poj 1986LCA离线dfs+并查集
    poj 1330 LCA最近公共祖先
    poj 1882完全背包变形
    poj 1948二维01背包
  • 原文地址:https://www.cnblogs.com/blueContra/p/4358477.html
Copyright © 2011-2022 走看看