C基础知识点附答案Word文件下载.docx
- 文档编号:15683051
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:8
- 大小:21.30KB
C基础知识点附答案Word文件下载.docx
《C基础知识点附答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《C基础知识点附答案Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
3.new关键字
作为运算符可以创建对象和调用构造函数;
例:
Class_TestMyClass=newClass_Test();
intmyInt=newint();
作为修饰符可以用于向基类成员隐藏继承成员,实现派生类中隐藏基类的virtual方法,不能和override共存;
作为约束可以在泛型声明中约束可能用作类型参数的参数类型。
4.集合
数组是.netframework定义的最基本的集合类型。
集合类:
ArrayList:
使用大小可按需动态增加的数组实现IList接口。
BitArray:
管理值的压缩数组,该值表示为布尔值,true表示位是打开的
(1),false表示位是关闭的(0)。
CaseInsensitiveComparer:
比较两个对象是否相等,比较时忽略字符串的大小写。
CollectionBase:
为强类型集合提供abstract基类。
Comparer:
比较两个对象是否相等,其中字符串比较是区分大小写的。
DictionaryBase:
为键/值对的强类型集合提供abstract基类
Hashtable:
表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。
Queue:
表示对象的先进先出集合
ReadOnlyCollectionBase:
为强类型非泛型只读集合提供abstract基类。
SortedList:
表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。
Stack:
表示对象的简单的后进先出非泛型集合。
5.C#运算符(is/as)
1、类型检查的效率不一样:
is需要做两次对象的类型检查,而as需要做一次对象类型检查,再加一次null的检查。
2、is的检查规律:
A:
检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,如果是目标类型或是其父类型的话就返回为true,否为false。
永远不会抛出异常
B:
如果对象引用为null,则返回为false,因为没有对象可以检查其类型。
3、as的检查规律:
检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;
不会抛出异常;
C:
如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常;
D:
用as来进行类型转换的时候,必须是目标类型或者转换目标类型的派生类
4、as运算符只执行引用转换和装箱转换;
is运算符只考虑引用转换、装箱转换和取消装箱转换。
5、使用as操作符有如下几点限制
不用在类型之间进行类型转化
不能应用在值类型数据
6.C#的特点
简洁的语法、面向对象设计、与Web的紧密结合、
完整的安全性与错误处理、版本处理技术、灵活性与兼容性。
7.C#有几种声明关键字?
public,字段、属性和方法均为公开的,不仅类中的其它成员能访问到,还可以通过类的实例访问的到。
private,字段、属性和方法均为私有的,只能被类中的其它成员访问到,不能通过类的实例访问。
protected,包含private特性,而且protected修饰的字段、属性和方法能被子类访问到。
internal,在同一个程序集中和public一样,但是不能被其它程序集访问,而且子类的话,只能被同一个命名空间的子类访问到。
Sealed,密封类不能被继承。
密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。
当应用于方法或属性时,sealed修饰符必须始终与override一起使用。
8.字符串常用操作
1.取字符串长度stringstr="
chain"
;
intstrLength=str.Length;
2.字符串相加
3.截取字符串的一部分strings1=str.Substring(0,2)
字符串.Substring(起始位置,截取位数);
4.清除字符串前后包含的空格stringstr="
hello"
str=str.Trim();
5.替换字符串:
字符串变量.replace(str1,str2)stringstr="
你好"
str=str.Replace("
你"
"
他"
);
9.属性和变量的区别
属性与成员变量类似,它们都提供数据存储,但属性的功能远比成员变量强大。
属性由特殊方法(Get和Set访问器)访问。
Get和Set访问器允许在设置或检索属性之后验证属性值、执行其他代码或执行其他任务。
10.static的作用,用法
static意思是静态,可以修饰类、字段、属性、方法。
标记为static的就不用创建实例对象调用了,可以通过类名直接点出来。
static三种用法:
1.用于变量前,表示每次重新使用该变量所在方法、类或自定义类时,变量的值为程序这次运行最后一次为变量赋值时的值,这个方法称为静态函数:
privatevoids(){staticinta=1;
a++;
}
方法第一次调用结束后a在内存内值为2;
方法第二次调用结束后a在内存内值为3;
2.在方法(函数)前用static修饰,表示此方法为所在类或所在自定义类所有,而不是这个类的实例所有,这个方法称为静态方法。
3.用于class前,说明此类型无法新建实例,简单点说这个类型的方法全是静态方法,这个类里的非静态方法是不能使用的,这个类型称为静态类.
比如C#控制台操作的Cancle类里面的成员就被标记为静态的,可以直接用Concle.直接点出来使用。
如果没有标记为静态就要通过创建实例对象来调用,比如说动态字符串StringBuilder就要new一个实例来调用。
11.ref和out
1、ref传进去的参数必须在调用前初始化,out不必,
2、ref传进去的参数在函数内部可以直接使用,而out不可
3、ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值。
12.装箱拆箱
装箱是将值类型转换为引用类型;
拆箱是将引用类型转换为值类型
利用装箱和拆箱功能,可通过允许值类型的任何值与Object类型的值相互转换,将值类型与引用类型链接起来
例如:
intval=100;
objectobj=val;
Console.WriteLine(“对象的值={0}"
obj);
这是一个装箱的过程,是将值类型转换为引用类型的过程
intnum=(int)obj;
Console.WriteLine("
num:
{0}"
num);
这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程。
13.泛型
在泛型类型或泛型方法的定义中,类型参数是一个占位符(placeholder),通常为一个大写字母,如T。
在客户代码声明、实例化该类型的变量时,把T替换为客户代码所指定的数据类型。
泛型类,如泛型概述中给出的MyList<
T>
类,不能用作as-is,原因在于它不是一个真正的类型,而更像是一个类型的蓝图。
要使用MyList<
,客户代码必须在尖括号内指定一个类型参数,来声明并实例化一个已构造类型(constructedtype)。
这个特定类的类型参数可以是编译器识别的任何类型。
可以创建任意数量的已构造类型实例,每个使用不同的类型参数,如下:
MyList<
MyClass>
list1=newMyList<
();
float>
list2=newMyList<
SomeStruct>
list3=newMyList<
14.C#回收机制
对象的生命周期:
计算对象大小——查找可用内存——初始化对象——使用对象——摧毁对象。
CLR会在合适的时候进行执行垃圾回收来释放不再使用的内存。
15.“重载”与“重写”有什么区别
overload:
重载就是在同一个类中,方法名相同,参数列表不同。
参数列表不同包括:
参数的个数不同,参数类型不同等。
override:
说的是两个类继承,子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法。
在父类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。
(方法名称必须相同,参数也要相同)
重写格式:
父类中:
publicvirtualvoidMethod(){}
子类中:
publicoverridevoidMethod(){}
重写以后,用父类对象和子类对象访问Method()方法,结果都是访问在子类中重新定义的方法,父类的方法相当于被覆盖掉了。
子类中为满足自己的需要来重复定义某个方法的不同实现。
重写是发生在父类与子类之间的关系。
具体来讲就是子类可以重写父类的现有的方法。
它要求子类的方法名称及参数必须与父类完全一致。
比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。
重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。
其中,方法参数不相同包括以下几种情况:
参数的个数不相同,参数的类型不相同,参数的对应位置不相同。
需要说明的是,重载同样可以应用到父类与子类当中。
即子类重载了父类的方法。
16.理解委托
委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联,可以通过委托调用方法。
委托用于将方法作为参数传递给其他方法。
时间处理程序就是通过委托调用的方法。
17.数据字典/ArrayList
ArrayList是一种动态数组,位于System.Collections命名空间中,它提供了动态的增加和减少元素,实现了ICollection和IList接口。
18.关于AppDomain的作用,说几个常用的就行了
AppDomain是什么:
当一个程序集被执行时,系统就会自动为其创建一个AppDomain,每一个AppDomain属于某个进程,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础 知识点 答案