首页 > 代码库 > C#基础知识

C#基础知识

1.关于位移运算符:

int i=16;

int m=i>>1;

Console.WriteLine(i);    //  得到m=8;

 

int j=2;

int n=j<<2;

Console.WritLine(j);    //  得到n=8;

 

byte k=247;

byte x=(byte)~k;

Console.WriteLine(x);   //  得到x为8;

 

2. 冒泡排序:

for(int i=0;i<array.Length-1;i++){    //  外部循环表示循环的次数

    for(int j=0;j<array.Length-1-i;j++){  //  内部循环表示比较的次数

    if(array[i]<array[j]){

                int temp=array[j];    //  替换值

      array[j]=array[i];

      array[i]=temp;

    }  

  }

}

//  数组的遍历

for(int i=0;i<array.Length;i++){

  Console.WriteLine(array[i]);

}

3. 创建对象:

 String s=new String ("xyz");

其中创建了2个对象;    String s=new String();  和   String s="xyz";

4.委托:

   委托可以把一个方法作为参数代入另一个方法;

   事件可以看做是一种特殊的委托;

   委托可以理解为指向一个函数的引用(指针);

   委托可以不带委托名(匿名委托);

委托分为:  delegate匿名委托,  Func委托,  Action委托,  lambda表达式;

5.关键字: sealed关键字修饰的类,是密封的,不能被继承;

      abstract : 抽象, 由abstract修饰的类叫抽象类,抽象类中可以没有抽象方法;

          由abstract修饰的方法叫抽象方法,如果一个类中有抽象方法,那么这个类一定是抽象类;

      override:表示对方法的重写;

      delegate: 委托的关键字;

      event: 事件的关键字;事件可以看成是特殊的委托;

6.as和is:

 as和is永远都不会抛出异常;如果对象引用为null;那么is操作符返回为false;

7:staic: 用static修饰的成员称为静态成员.静态成员只能由类来调用;

            包含静态成员的类可以不是静态类;

            静态类不能被实例化,所以内部只允许有静态成员或const修饰的常量;

    有静态构造方法(函数),静态构造方法必须无参,不能重载;

8.关于泛型:  可以最大限度的重用代码,保护类型的安全以及提高性能;

                  降低了强制转换或装箱操作的成本或风险;

                  可以对泛型类进行约束以访问特定数据类型的方法;

9.关于集合: Queue先进先出(FIFO)的一种数据结构;

      要是用Dictionary时,需要先引用System.Colletions.Generic命名空间;

      Stack类实现了ICollection和IEnumberable接口,Stack(栈)先进后出;

      List<T>类表示可以用过索引访问的对象的强类型列表;

 

C#基础知识