zoukankan      html  css  js  c++  java
  • C#高级编程笔记(二)

    枚举(enum)

    用户定义的整数类型,声明时(使用enum关键字),要指定该枚举的实例可以包括的一组可以接受的值

    使用枚举类型的优势:1.使代码更易于维护;2.使代码更清晰;3.使代码更易于输入。

    用处:枚举在后台会实例化为派生于基类的、System.Enum的结构,即可以对其调用方法、执行任务。

    另外枚举类型具有性能优势:.net framework在语法上将枚举当做结构(一旦代码编译好,枚举就成为基本类型),使用System.Enum静态方法可以重字符串中获取枚举值或者对象引用等。

    命名空间(namespace)

    提供了一种(逻辑组织)组织相关类和其他类的方式。不允许声明嵌套在另一个命名空间中的多个部分的命名空间

    命名空间与程序集无关

    using语句

    1.可以在源代码文件顶部使用(仅仅是简化代码中对命名空间的引用,文件之间没有因此而建立物理链接,与#include不同)

    2.给命名空间或者类指定别名(简化命名空间书写):考虑不希望命名空间名称出现在using指令中,避免与类名冲突

      eg:useing 别名 = 命名空间名;

    3.在代码中使用

    。。。

    Main()方法

    C#程序从Main()开始执行,Main()必须是类或者结构的静态方法,且其返回值必须是int或者void

    对于多个Main()方法的程序在编译时应制定哪个作为应用程序的入口点(使用/main:所属类的全名)

    传递参数---在程序调用时可以让CLR给Main()方法将命令行参数(一个字符串数组string[] args)作为参数传递

    在程序运行要运行时给参数赋值(一般可以通过命令行执行 程序后面直接追加参数值)

     注释

    源文件内部注释

     常用的注释:

    单行注释 //。。。

    多行注释/*....*/

    XML文档

    根据特定的注释(识别其中的XML标记)自动创建XML格式的文档说明

    注释要求:

    1.都为单行注释,且以///开头

    2.可以包含XML标记

    C#编译器将XML元素从特定的注释中提取出来生成一个XML文件(需要在编译时指定/doc参数,eg: csc /t:library  /doc:MyXML.xml  MyLibrary.cs )

    T:类型,F:字段,M:成员

    C#预处理器指令

    作用:影响编译过程,不会转化为可执行代码中的命令

    预处理器指令不用分号结束,一般一行只有一条指令,编译器处理完一条指令后,就会假定下一条指令在下一行上。

    预处理器指令都以#开头

    #define 与 #undef

    #define mark   告诉编译器存在指定名称(这里是mark)的符号,类似于声明变量,但是这个变量没有真正的值,此变量不是实际代码的一部分,只在编译器编译代码时存在

    #undef mark  删除符号(若符号不存在则该语句无效,若符号存在则删除该符号)

    一般#define #undef 放在源文件开头位置,声明在编译任何对象的代码前。

    #if #elif #else #endif

    指定编译器是否要编译某个模块。条件编译(conditional compilation)实现的其中的一种方式

    #if mark  //这里判断mark是否存在,即#define是否定义,#elif #else 语法类似

      //code //存在mark则编译这里

    #endif

    #if和#elif支持逻辑运算符(!、==、!=、||、&&)

    eg:#if mark && (mark1 == false)  //这里判断mark存在且mark1不存在为true 

    #warning 和 #error

    编译器通过#warning和#error给用户显示警告或者错误信息(#。。。后的文本),并进行处理(#warning后会继续,#error后会退出)

    eg: #warning  this is a  warning!

    #region 和 #endregion

    把一段代码标记为给定名称的一个块。

    #line

    改变编译器在警告和错误信息中显示的文件名和行号

    #pragma

    可以抑制或者还原指定的编译警告。(可以在类或者方法级别执行)

    C#编程规则

    标识符规则

    1.必须以字母或者下划线开头,可以包含数字

    2.不能使用关键字(若必须使用关键字 则可以使用@前缀

    标识符可以使用unicode字符 语法 uXXXX,XXXX为Unicode字符的4位16进制编码

    用法约定

    规则应是一个正确的决策,而不是一种束缚

    1.命名约束

    名称应直接反映对象的功能(一般不反映数据类型),且不与其他名称冲突。

      (1)大小写  

         命名空间、类、基类中的成员、常量等使用Pascal形式,最好不用下划线

         类中所有的私有成员字段使用camel(成员前缀用一条下划线)形式;传递给方法的参数都应使用camel形式;区分同名对象的---属性(Pascal)封装字段(camel);

    私有成员总是使用camel形式,公有的或者受保护的使用Pascal形式

      (2)名称的风格应保持一致

      (3)名称的命名空间 <CompanyName>.<TechnologyName>

      (4)名称与关键字  

    属性与方法的使用

    属性:使用情况

    1.客户端代码读取值,最好不用只写属性,可使用方法

    2.读取值时间不应太长,否则使用方法

    3.可按照任意顺序设置属性

    4.读取值不应出现负效应

    5.任意顺序读取属性效果应相同

    字段的用法

    字段总是私有的,某些情况下可以将常量或者只读字段设置为公有的

      于

    2016年1月10日17:17:45

  • 相关阅读:
    Radmin01-如何使用Radmin进行云服务器的远程连接与文件传输?
    vmware-workstation迁移虚拟机 15pro到12版本
    爬格子呀5-10
    爬格子呀--IEEE极限编程大赛留念
    爬格子呀5-8
    爬格子呀5-7
    爬格子呀5-6
    爬格子呀5-5
    爬格子呀5-4
    爬格子呀5-3
  • 原文地址:https://www.cnblogs.com/forevertime/p/5115534.html
Copyright © 2011-2022 走看看