1. 结构体与类异同
1.1 类型
结构体:值类型
类:引用类型
1.2 声明的语法
结构体:struct
类:class
类:在类中,构造函数,既可以给字段赋值,也可以给属性赋值。构造函数也是可以重载的
结构体:在结构体中的构造函数,只能给字段赋值,而且还得是给全部的字段赋值,不能有选择的给字段赋值。
1.3 内存分配
结构体:占用栈空间
类:占用栈和堆空间
不论结构体也好,类也罢,他两都是可以使用new 关键字。本省都会有一个默认的无参的构造函数。
1.4 构造函数
类:带参数的构造函数会把无参的构造函数给覆盖掉。
结构体:带参的构造函数不会把无参的构造函数覆盖掉。
2. Path类、File类、Directory类
2.1 Path这个类与生俱来就是跟文件夹或者文件打交道的它常用的一些方法如下:
string Combine(string path1,string path2)
将两个路径合成一个路径,可以很方便解决不加斜线的问题,自动处理路径分隔符的问题
string s =Path.Combine(@"c:\temp","a.png")
string GetExtension(string path)得到文件的拓展名
string GetFileName(string path)得到文件路径的文件名部分
string GetFileNameWithoutExtension(string path)得到去除拓展名的文件名
string GetFullPath(string path)得到文件的全路径。
2.2 File 操作文件,对文件整体进行一个操作。capy,delete,move等操作,说起文件那就还有个好兄弟类跟File一起干活——Stream类,文件流。
FileStream文件流,StreamReader快速读取文本文件,StreamWriter快速写入文本
2.3 Directory操作文件夹类
用于复制、移动、重命名、创建和删除目录等典型操作。
- 若要创建目录,请使用方法之 CreateDirectory 一。
- 若要删除目录,请使用方法之 Delete 一。
- 若要获取或设置应用的当前目录,请使用 GetCurrentDirectory 或 SetCurrentDirectory 方法。
- 若要操作DateTime与目录的创建、访问和写入相关的信息,请使用 和 SetCreationTime等SetLastAccessTime方法。