zoukankan      html  css  js  c++  java
  • C#笔记-基础知识

    1.格式化输出

    2. 标准数字格式说明符

    C,c   货币

    D,d   十进制数     Console.WriteLine("{0:D4}",12)   -----   0012

    F,f   符点数    

    G,g  常规      

    X,x  十六进制 

    N,n  带,间隔    ----12,345,678.54

    P,p  带%号

    R,r  Parse方法相关,确保值不变

    E,e  科学记数

    3.预定义类型都为小写

    4. var  的使用 条件

    只能用于本地变量, 不能和于字段

    只能在变量声明中包含初始化时使用

    推断出变量的类型后固定不能更改

    var total = 15;

    var mec = new MyClass();

    5. 引用参数

    声明和调用都要使用ref关键字

    void MyMethod( ref int val){

    ....

    }

    int n= 5;

    MyMethod(ref  n);

     6.输出参数

    void MyMethod( out int val )
    
    {...}
    
    int y;
    
    MyMethod( out y);

    7.参数数组

      *0 或多个实参

      *在一个参数列表中只能有一个参数数组。

      *必须是列表中的最后一个。

      *必须具有相同的类型。

      *params 修饰符 在声明中需要, 在调用中不允许有

      void ListInts( params int[] inVals ){...}
      ListInts(
    1, 2, 3 );   int[] intArray = {1, 2,3);   ListInts( intArray );

      

     8. 可选参数

      .

      所有必填参数必须在可选参数声明之前声明,如果有params参数,必须在所有可选参数之后声明

    9. 属性

    *属性是命名的类成员,  有类型,  可以被赋值和读取, 

    *是一个函数成员

    *不为数据存储分配内存

    *执行代码

    *属性是指定的一组两个匹配的, 称为访问器的方法

    #属性和它人的后备字段的两种命名约定:

    名称内容相同, 字段使用Camel (firstField),属性合用Pascal(FirstField)

    字段使用_开始+Camel(_firstField), 属性使用Pascal(FirstField)

    10.自动实现属性

    因为属性经常被关联到后备字段,允许只声明属性而不声明后备字段。编译器会为你创建隐藏的后备字段,并且自动挂接到get ,set 访问器上。

    *不声明后备字段,编译器根据属性的类型分配存储。

    *不能提借访问器的方法体,他们必须被简单地声明为分号。get担当简单的内存读, set担当简单的写

    *除非通过访问器,否则不能访问后备字段。因为不能用其他的方法访问它,所以实现只读和只写属性没有意义,必须同时提供set ,get 

    class C1
    {
        public int MyValue
        {
            set;get;
        }
    }

    11.静态构造函数

    static构造函数用于初始化类级别的项。通常用于初始化类的静态字段。

    *类只能有一个静态构造函数, 而且不能带参数, 不能有访问修饰符

    *同静态方法, 不能访问所在类的实例成员, 也不能使用this访问器。

    *不能从程序中显式调用静态构造函数,系统会自动调用它们,在 类的任何实例被创建之前, 在类的任何静态成员被引用之前。

    class AConstructor
    {
        static AConstructor()
        {
            //初始化静态成员
        }
    }

    12. 对像初始化语句

    new ClassName                { k = v, k2 = v2, .... }
    new ClassName(argList)    { k = v, k2 = v2, .... }

    13.索引器

    索引器是一组get, set 访问器,与属性类似,为多个数据成员提供访问器,索引器本身可以是任何类型,不仅是数值类型。

    和属性一样。索引器可以只有一个访问器, 也可以两个都有。总是实例成员,不能声明为static。不必须关联到某字段或属性。

    索引器没有自定义名称。名称位置是关键字this,参数列表在[方括号]中间,到少声明一个参数。

    可以重载, 可以有任意多个索引器,必须参数列表不同,

    ----就是提供了一种像数组、map 访问例数据成员的格式。语法糖

    class Employee
        {
            public string stra;
            public string strb;
            public string strc;
    
            public string this [int index] {
                set {
                    switch (index) {
                    case 0:
                        stra = value;
                        break;
                    case 1:
                        strb = value;
                        break;
                    case 2:
                        strc = value;
                        break;
                    default:
                        throw new ArgumentOutOfRangeException ("index");
                        break;
                    }
                }
    
                get {
                    switch (index) {
                    case 0:
                        return stra;
                    case 1:
                        return strb;
                    case 2:
                        return strc;
                    default:
                        return "" ;
                    }
                }
            }
    
        }

    14.访问器修饰符

        class D
        {
            public string Name { get; private set;}
        }
      //属性外部可读, 不可读。 内部可写。

    仅当成员同时有get, set 访问器时才能有修饰符。且只能有一个有修饰符, 必须比成员的访问级别更严格。

    15. 分部类 

    类的声明可以分隔成几个分部类的声明, 可以不同文件,  标为 partial class

    分部方法是声明在分部类中不同部分的方法。返回类型必须是void,签名不能包括访问修饰符,隐式私有。参数列表不能包含out , 包含partial 

  • 相关阅读:
    要学习的东西~!~
    Concrete5官网
    PHP免费源码下载
    PHP源码下载1
    PHP源码下载
    PHP框架之ThinkPHP项目CMS内容管理系统源码及开发手册视频
    SELINUX导致数据修改权限不成功
    mysql参数安全设置
    大话存储(1-5)
    存储知识(4)
  • 原文地址:https://www.cnblogs.com/blackcatx/p/5913190.html
Copyright © 2011-2022 走看看