首页 > 代码库 > 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#基础知识