欢迎您来到“名字什么都是浮云”的博客空间!

C#高级编程9-第2章 核心C#

  • C#基础
    • 使用C#命名编译器csc.exe,编译C#程序
  • 变量
    • 变量一般初始化后才能使用
    • 类型判断弱类型var,根据初始值判断类型,
    • 变量作用域,可以访问该代码的区域
      • 类中定义的成员变量和属性,作用在类中
      • 局部变量声明在方法内或者括号代码块的作用域中
      • 循环中声明的变量,作用在循环内
      • 局部变量的作用域会发生冲突,同名局部变量在同一作用域内不能声明2次
      • 字段和局部变量的作用域会发生冲突,同一类型级别下,不能声明字段与变量名相同。
    • 常量
      • 使用const修饰,必须初始化时赋值,一旦赋值则不能修改,它是静态的成员变量,一般用做避免修改的值
  • 预定义数据类型
    • 值类型和引用类型
      • 值类型存储在堆栈上,引用类型存在托管堆上.
      • 值类型有int,string,float,decimal,double结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型
      • 引用类型有数组,用户定义的类、接口、委托,object,字符串
      • CTS类型
        • CTS类型值不是定义在C#语言中,是定义在.NET FrameWork核心类库中,所以是预定义类型
      • 预定义值类型
        • 整型、浮点型、字符类型、布尔类型
      • 预定义引用类型
        • object类型和string类型
        • object类型是其他类型的父类
  • 流控制
    • 条件语句if

      • if可以有很多分支,满足分支的条件,则执行分支里面的事件,else否则执行的事件

      • switch固定值开关,满足条件值则执行满足条件的一个或多个事件。

      • 循环for,foreach,while,do-while

      • for循环,针对索引值的遍历,分为初始化,表达式(满足迭代的表达式,满足则进行下一次),迭代(递增循环计数器);执行顺序:先初始化,再判断是否满足迭代表达式,执行事件,计数

      • foreach循环,面向对象的遍历,直接针对值的遍历

      • while循环,针对表达式的遍历,循环前无法知道执行语句块的次数

      • do-while循环,先执行事件再进行逻辑判断

      • 一般用for和foreach遍历

      •  

        跳转语句goto,先执行标签语句,再执行下一句,先执行num=8,再执行num=9
        • goto Tag1:
        • num=9;
        • Tag1:
        •   num
      • 循环结束语句break,中断循环操作
      • 循环迭代语句continue,结束本次操作,执行下一轮操作
      • 方法返回语句return,结束当前方法的继续操作,返回到调用的地方进行下一步操作,可附带当前方法操作结果值.
  • 枚举
    • 用户定义的整数类型
    • 枚举组织了一系列的数据值,可以包含描述值,方便引用
  • 命名空间
    • 类型的组织,类型的作用域
    • 命名空间可以嵌套,同一个项目里允许定义其他命名空间。interneal修饰符指定了命名空间的访问域。
    • using语句,其他命名空间的引用,在实际项目开发中除了.NET FrameWork本身引用之外.需要添加该引用之后才能在代码中引用
    • 命名空间过长,允许以别名进行调用.using alias=System.Data 调用:alias.DataTable
  • Main方法
    • C#程序运行入口
    • 一个C#程序不同域之间不允许多个Main方法
    • Main方法参数args是一个字符串数组,使用这个数组可以访问命令行传过来的选项
  • C#编译
    • 使用C#命名编译器csc.exe,编译C#程序,编译示范语句:csc /t:library MathLibrary.cs
    • 其他语句如下:
  • 控制台I/O
    • 有三种C#程序读写数据的方法Write、WriteLine、ReadLine;都属于Console类的方法.Write方法直接输出控制台信息,WriteLine输出后进行了换行,ReadLine输入信息
    • 输出的预定义数据类型字符串格式
  • 注释
    • 代码的说明
    • 有3种注释
    • //单行注释
    • /**/多行注释
    • ///文档注释
    • 注释标签列表
  • C#预处理指令
    • 方法代码编写
    • 指令不可执行,以#符号标识
    • #define和#undef不属于代码一部分,旨在于定义名称的符号,需要配合其他指令使用,指令必须放在源文件开头位置
    • #if,#else,#elif,#endif流程指令,方便调试.
    • #define定义在源代码最上面,#define定义的符号标签1、标签2里面的代码会执行,标签3里面的代码不会执行.

    • #warning和#error编译器运行到这个指令时,会警示和提示错误.之和编译继续进行.
    • #if DEBUG
      #warning "debug状态"
      #elif RELEASE
      #warning "Release状态"
      #else
      #error "什么状态"
      #endif
    • #region和endregion给一个代码块起一个名字,方便分类和查找
    •  

  • C#编程规则
    • 标识符规则,标识符给类、类成员、变量定义的名称
      • 允许包含数字,但是只能以字母或下划线开头
      • 不能是.NET FrameWork定义的关键字,比如int,string
    • 用法约定
      • 命名约定一般以Pascal规则,首字母大写,减少下划线连接的单词
      • 私有成员都是小写camel形式.
      • 类私有字段以"_"开头或者小写字母开头
      • 方法参数都是小写camel形式.
      • 名称风格需保持一致
      • 命名空间以公司名称为前缀,软件开发名为后缀
      • 属性设置如果逻辑过多,最好使用方法代替,如果属性只需要读取值,就不用使用写的属性
posted @ 2017-05-05 09:44  名字什么都是浮云  阅读(205)  评论(0)    收藏  举报