大题考察点:
目录和文件的管理,如何创建何如删除目录,如何复制如何删除文件
数据流与文件编码:不考
主要文本文件的读写
创建目录:
Directory.CreateDirectory(@"C:\test");
删除目录:
Directory.Delete(@"C:\test",true);true表示确认删除这个路径下的所有文件和子文件夹
判断文件是否存在:
string path = @"C:\test";
if(File.Exists(path1)){}
复制文件:
File.Copy(path1,path2,true);true表示覆盖
删除文件:
File.Delete(path);
移动文件:
File.Move("test",新路径)
打开文件对话框:
OpenFileDialog
保存文件对话框:
SaveFileDialog
新建文件:
File.WriteAlltext("pah1","OK");
打开文件:
File.ReadAllLines(path,Encoding.Default);
Flie.ReadAllText
追加文件:
File.AppendAllText("path",appendText,Encoding.Default);
利用文件流读写文件:
FileStream类继承于Stream类,
string path = @"D:\acode\file.txt";
TextState.Text = "开始";
using (FileStream fs = File.Open(path, FileMode.Create))
{
byte[] b = Encoding.UTF8.GetBytes("成功");
fs.Write(b, 0, b.Length);
}
1、C#是基于运行时的强类型,一般的不规范语言都不符合C#的语言规则。
2、C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空 类型
3、C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串
4、C#中区分浮点型与小数型
其中,浮点型可分为两种:float单精度与double双精度
单精度与双精度的区别在于取值范围和精度的不同。
因此在对精度要求不高的情况下,我们可以采用单精度类型,而在精度要求较高的情况下可以使用双精度类型。
float类型是32位宽,double类型是64位宽。
浮点类型数据的精度如下:
单精度:精度为7位数
双精度:精度为15~16位数
另外,小数型是高精度的类型数据,128位
小数类型数据的后面必须跟m或者M后缀来表示它是decimal类型的,如3.14m、0.28m等,否则就会被解释成标准的浮点类型数据,导致数据类型不匹配。
5、在类作用域中能够直接使用该类的任何成员名进行访问
6、C#程序的基本单位是语句
7、C#的用户标识符:
- 标识符是一种字符串,用来命名,如变量、方法、参数、程序结构。
- 标识符不能和关键字重复。
- 字母、下划线可以用在任何位置
- 数字不能放在首位
@
字符只能放在标识符的首位
8、改变窗体的标题,需要修改的属性是text
9、在类的成员中,用于存储属性值的是成员变量
10、可以用于方便地重用已有代码和数据的类特性是继承
11、Sort()可以对Array一维数组进行排序
12、将变量从字符串类型转换为数值类型可以使用的类型转换方法是:int.Parse();
13、数据类型转换的类是Convert
14、C#是一种面向对象的语言
15、函数的定义不可以嵌套,函数的调用可以嵌套
16、可以标识不同的对象的熟悉是Name
17、接口的成员都必须是未实现的
18、抽象类不能实例化,抽象类可以包含抽象方法,抽象类可以包含抽象熟悉,抽象类可以引用派生类的实例
19、关键字vitual不能与override一起使用
20、定义虚方法使用关键词virtual,虚方法是实现多态的一种应用形式,派生类似实现多态的一种应用形式
21、object是所有类的基类
22、protected修饰符既有公有成员的特点,又有私有成员的特点
23、继承具有传递性,即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员
24、派生类对象可以强制转化为基类对象
25、在Dirctory类的方法中,可以获取指定文件夹中高德文件的是GetFiles();
26、建立访问键时,需要在菜单标题的字母前添加的符号是&
27、创建主菜单的对象是MenuStrip
28、记事本不是多文档应用程序
29、在Array中,可以对一维数组中的元素查找的方法是BinarySearch();
30、枚举是从System.Enum类继承而来的类型
31、类中声明的属性往往具有get()和set()两个访问器
32、在我们写的新的构造函数的情况下,还想要保留原本的默认构造函数就需要把这个磨人的构造函数写出来
33、接口是指:只含有公有抽象方法的类,这些方法必须在子类中实现
34、在switch中的case后必须为常量表达式
35、set方法的隐含参数的名称是value
36、C#的类不支持多重继承,但是可以通过接口来实现
37、一般将类的构造方法声明问public访问权限,如果声明为private,就不能创建该类的对象
38、在方法定义中,virtual含义是:被virtual修饰的方法可以被子类覆写
39、C#数组的下标也是从0开始的
40、参数传递分为:值传递和引用传递
41、如何区别重载方法?
不同的参数类型,不同的参数个数,不同的参数顺序
42、C#使用多种修饰符来表达不同的性质,有五种不同的限制修饰符,指出他们之间的区别在哪
public可以被任意读取
protected只可以被本类和其继承子类存取
internal只可以被本组合体内所有的类存取,组合体是c#中类被组合后的逻辑单位和物理单位
protected internal唯一的一种组合限制修饰符,它只能被本组合体内所有的类和这些类的继承子类所读取
private只可以被本类所读取
43、接口和抽象类的区别是什么?
接口用于规范,抽象类用于共性。
接口中只能声明方法,属性,事件,索引器。
而抽象类中可以有方法的实现,也可以定义非静态的类变量。
抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。
抽象类可以提供默某些方法的部分实现,接口不可以。
抽象类的实例是它的子类给出的。
接口的实例是实现接口的类给出的。
在抽象类中加入一个方法,那么它的子类就同时又了这个方法。
而在接口中加入新的方法,那么实现它的类就要重新编写。
接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员此外,接口不能包含字段、构造函数、析构函数、静态成员或常量
44、什么是抽象类?
抽象类是含有一个或多个抽象方法呃类,抽象类不能实例化
45、int[,] arr = new int[10,20] 是正确的二维数组声明定义方式
46、double d=15 在语法上没有问题
47、C#使用using导入命名空间
48、override与重载的区别?
重写override是派生类为实现自己特有的功能而堆父类的类进行重写,以实现自身的功能
重载给我们提供匹配参数的功能,我们对弈同一个函数,可以填入不同的参数,从而运行不同的代码块。
49、int goal = Convert.ToInt32(Console.ReadLine());可输入数字