C#之总结

数据类型

一、基础数据类型/基本类型:值类型(结构)

  1. byte,sbyte 一个字节 0~2^8-1
  2. short,ushort 两个字节 0~2^16-1
  3. int,uint 四个字节 0~2^32-1
  4. long,ulong 八个字节 0~2^64-1
  5. float 四个字节 有效位为7位
  6. double 八个字节 有效位为15位\
  7. decimal 十六个字节 有效位为28~29

值类型进行转换:
隐式转换(自动转换):double d=12;低级转高级
显式转换(强制性转换):int i=(int)12.5;高级转低级,数据丢失;

静态类提供一系列值类型转换方法:
Convert

特殊类型(引用类型):string密封类,不可以继承,同时字符串不可以被修改;
stringBuilder:可变字符串;
string:不可修改的字符串;

数组:一维数组:一组数据集合;
1.存储相同类型的数据;
2.数据可以通过下标访问;
3.int[] arr={};直接定义一般只限于声明数组时初始化数据;
int[] arr;
arr={};//错误的,不成立
int[] arr=new int[长度];
int[] arr=new int[]{,,,};

二维数组:
多维数组:int[,] arr={{},{},{}};int[,] arr=new int[行数,列数];
交错数组:int[][] arr=new int[行数][];

int[,] arr={{10},{200},{3}};
arr[0,0]=12;//{{12},{200},{3}}

int[][] arr=new int[3][]{new int[]{10},new int[]{200,100},new int[]{3}};
arr[1][1]=300;
//{{10},{200,300},{3}}

面向对象:string datetime
1.类:程序中基本单位;
1)引用类型
2)一个模板
3)对一类具有相同属性和方法的对象的集合,抽象统称;
2. 对象,万物皆对象,类的实例化;
3.封装: 将数据和函数集合到一个个单元(类)中;
作用:保存数据安全性,防止数据被随意修改;
一般数据存储在字段中的,访问通过属性,数据处理用函数;
注意:单一性
class A{
private string name;
public string Name{
get{

        return name;
    }
    set{

        name=value;
    }
}
public void Move(){

}

}
A a=new A();
自定义类时,未定义构造函数,那默认会自动添加一个无参构造函数;
自定义类时,定义构造函数,默认不创建;
类拥有实例成员:字段,属性,方法,索引器,事件;
类拥有常量,静态成员;

继承:子类只能继承一个父类,继承该类中所有非私有的成员;
做用:
1.节省开发时间,提高代码重用性;
2.进行代码扩展;(例如List)

抽象类:
1.不可以实例化
2.可以定义抽象成员:属性,方法,索引器
3.子类继承抽象类必须重写抽象成员;

abstract class F{
public abstract string Name{get;}
public abstract void Move();
}
class Son:F{
public Son():base(){

}
//重写抽象成员
public override string Name{
    get{
        return "";
    }
}
public override void Move(){

}

}
base表示父对象的引用
base()调用父类中构造函数
base.属性 访问父对象的方法;
base.方法()
base.字段

继承:重写,通过重写达到扩展的功能;

接口:一套语法规则,一个模板;
interface IAction{
string Name{get;}//默认都是public
string GetName();
}
子类可以实现多个接口
class Son:F,IAction,IComperable{
//重写所有的方法
public string Name{get{return “”;}}
public string GetName(){}
public int CompareTo(Object obj){}
}

抽象类可以继承抽象类,可以实现接口;
接口可以继承接口;
接口不可以实例化;

抽象类,接口:多态;

泛型:延迟定义类型,直到使用时再确定类型;
class A{
T[] arr;
public void Move(K j){
K i=j;
}
}

索引器:类似属性,可以通过传入不同参数值返回不同结果;
public string this[int index]{
get{
return index+”a”;
}
}

猜你喜欢

转载自blog.csdn.net/qq_29266497/article/details/81514461