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

    1、CLR(公共语言运行库)源码——》中间语言(IL)——》平台专用代码。

    2、类型:值类型,引用类型。

    值类型:内置值类型,枚举,用户自定义值类型。

    引用类型:接口类型,指针类型,自描述类型(类类型(委托,用户自定义引用类型,装箱的值类型),数组)。

    以上统称:通用类型系统(CTS)

    3、语法:C#区分大小写,分号结束,注释//,/**/。

    4、几乎所有C#程序都使用到System命名空间的类。

    5、变量:避免多次赋值、多次定义相同的变量,注意注释,默认创建时,默认初始化值为0,方法的局部变量必须在代码中显式初始化,才可以使用它们的值。

    6、常量:const 。

    使用规则:

    ①常量必须在声明的时候初始化。

    ②常量的值值必须在编译时用于计算。

    ③常量总是静态的。(不需要包含修饰符static)。

    使用好处:可使用缩写,提高可读性。使程序易于修改。避免错误。

    7、getType()类型推断(type inference)使用var定义,即泛型。

    规则:

    ①变量必须初始化,否则无依据。

    ②初始化容器不能为空

    ③初始化容器必须放在表达式中

    ④不能把初始化容器设置为一个对象,除非在初始化容器中创建了一个新的对象。

    8、注意变量的作用域,避免作用域冲突。

    9、值类型:

    名称 CTS类型 说明 范围
    整形
    sbyte System.SByte 8位有符号的整数 -128~127()
    short System.Int16 16位有符号的整数 -32768~32767()
    int System.Int32 32位有符号的整数 -2147483648~2147483647()
    long System.Int64 64位有符号的整数 -9223372036854775808~-9223372036854775807()
    byte System.Byte 8位无符号的整数 0~255()
    ushort System.Uint16 16位无符号的整数 0~65535()
    uint System.Uint32 32位无符号的整数 0~429496795()
    ulong System.Uint64 64位无符号的整数 0~18446744073709551615()
    float System.Single 32位单精度浮点数 7位(float定义的时候,需要在后面加上“F”或者“f”)
    double System.Double 64位双精度浮点数 15/16位
    decimal System.Decimal 128位高精度十进制数表示法 定义的时候,需要在后面加上“M”或者“m”
    bool System.Boolean true或false  
    char System.Char   一个16位的(Unicode)字符
    string System.String   (Unicode)字符串
    object System.Object   根类型,其他类型均派生自它

    10、Objcet的基本方法:Equals(),GetHashCode(),GetType()ToString(),Finalize(),MemberwiseClone()。

    11、流控制语句:if {.....}else{.....},switch(){case :},for(){},do{....}while(),foreach(  in  ){},goto,break,continue,return,

    12、枚举:enum,在后台将被实例化为派生于基类的System.Enum的结构,不会造成性能损失。

    13、命名空间:using,可制定别名,例如:using  A=B,则别名为B。

    14、C#,编译的类型:exe可执行程序,library,类库,module,组件,winexe,Windows窗体应用程序。

    15、预处理器指令:#define,给定符号的定义,

    #undef,取消符号的定义。

    判断#if,#elif,#else,#endif,

    警告及错误#warning,#error,

    代码块定义:#region,#endregion,

    #line,#pragma

    16、引用参数ref,输出参数out。

    17、C#在重载的限制:两个方法不能仅在返回类型上有区别。两个方法不能进根据参数是声明ref还是out来区分。

    18、只读字段:readonly,如果只读字段设置为静态,需要显式声明。

    19、public,private,protected,internal,abstract,sealed,new

    20、静态构造函数,编写原因:在第一次使用类时候需要进行初始化。

    注意点:静态构造函数没有修饰符,不带任何参数,无返回类型,以类名同名的方法,其他代码不调用它,在加载时候,有.NET运行库库调用。

    静态构造函数只能访问类的静态成员,不能访问类的实例成员。

    21、部分类:partial,放在class、struct、interface前面即可。

  • 相关阅读:
    深入理解Java:注解(Annotation)--注解处理器
    深入理解Java:注解(Annotation)基本概念
    深入理解Java:注解(Annotation)自定义注解入门
    SpringMVC从Controller跳转到另一个Controller
    使用 Spring 2.5 注释驱动的 IoC 功能
    SpringMVC之controller篇
    Oracle存储过程in、out、in out 模式参数
    初识Flutter
    浅谈Android 6.0之Runtime Permissions
    Java版斯诺克开源分享
  • 原文地址:https://www.cnblogs.com/diaosizhang/p/3077017.html
Copyright © 2011-2022 走看看