C#进阶6_部分类、密封类、多态的手段、ToString用法

来源:互联网 发布:不干胶排版软件 编辑:程序博客网 时间:2024/05/01 11:25
1、C#中的访问修饰符
public:公开公共的
private:私有的,只能在当前类的内部访问
protected:受保护的,只能在当前类的内部以及该类的子类中访问。
internal:只能在当前程序集(项目)中访问。在同一个项目中,internal和public的权限一样。
protected internal:protected的权限加上internal
1)、能够修饰类的访问修饰符只有两个:public、internal
2)、可访问性不一致:子类的访问权限不能高于父类,会暴露父类的成员。

2、设计模式:设计这个项目的一种方式。
1)、简单工厂设计模式
2)、单例模式

3、值类型和引用类型
值类型:int、double、char、decimal、bool、enum、struct
引用类型:string、数组、自定义类、集合、object、接口
值类型在复制的时候,传递的是这个值的本身。
引用类型在复制的时候, 传递的是对这个对象的引用。

4、序列化与反序列化:
序列化:就是将对象转换为二进制
反序列化:就是将二进制转换为对象
作用:传输数据。
序列化:
1)、将类标记为可序列化[Serializable]
2)、序列化或者反序列化
语法: BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(流, 对象);//序列化
bf.Deserialize(流);//反序列化

5、部分类
关键字:partial
特征:一个项目里可以有两个一样的类,本质上就是一个类。

6、密封类
关键字:sealed
特征:不能被继承,但是能继承别人(太监);

7、重写ToString():object的函数
所有的东西都能ToString();

8、自动属性与普通属性
自动属性:不写字段,不写get和set的方法体,系统会自动创建字段。

9、多态的第三种手段_接口:接口就是一个规范、能力。
关键字:interface,命名以I开头
语法:[public] interface I开头的名字
{
返回类型 方法名();
}
1)、接口中的成员不允许添加访问修饰符,默认就是public;不允许写具有方法体的函数。
2)、不允许不能包含字段和构造函数,允许可以包含自动属性。
3)、成员:方法、索引器、属性,本质都是方法,所以接口中只能有方法。
4)、接口不能被实例化,也就是说接口不能new(不能创建对象).
5)、接口与接口之间可以继承,并且可以多继承;接口并不能继承一个类,而类可以继承接口
6)、实现界都的子类必须实现该接口的全部成员。
7)、一个类可以同时继承一个类病实现多个接口,如果一个子类同时继承了父类A,并实现了接口IA,那么语法上A必须写在IA的前面。
8)、当一个抽象类实现接口的时候,需要子类去实现接口。


10、不能被实例化的对象:接口、抽象类、静态类

11、MD5加密
string s = "123";
MD5 md5 = MD5.Create();
byte[] buffer = Encoding.Default.GetBytes(s);
byte[] MD5Buffer = md5.ComputeHash(buffer);
string str = "";
for (int i = 0; i < MD5Buffer.Length; i++)
{
str += MD5Buffer[i].ToString("x2");//自己查找ToString()的用法
}
Console.WriteLine(str);
12、ToString()的用法
1)、C 货币 2.5.ToString("C") ¥2.50  
2)、D 十进制数 25.ToString("D5") 00025 
3)、E 科学型 25000.ToString("E") 2.500000E+005 
4)、F 固定点 25.ToString("F2") 25.00 
5)、G 常规 2.5.ToString("G") 2.5 
6)、N 数字 2500000.ToString("N") 2,500,000.00 
7)、X 十六进制 255.ToString("X") FF
大写X2:ToString("X2")即转化为大写的16进制。
小写x2:ToString("x2")即转化为小写的16进制。
2表示输出两位,不足的2位的前面补0,如 0x0A 如果没有2,就只会输出0xA
8)、ToString("yyyy-MM-dd HH:mm:ss.fff"));  2016-09-27 01:02:03.001   // fff 越多精度越高
①.y代表年份,注意是小写的y,大写的Y并不代表年份。
②.M表示月份。
③.d表示日期,注意D并不代表什么。
④.h或H表示小时,h用的是12小时制,H用的是24小时制。
⑤.m表示分钟。
⑥.s表示秒。注意S并不代表什么。

原创粉丝点击