标题 | c#基础技术问题总结 |
内容 | Introduction 此篇文章总结c#一些常见的技术问题,每一个都是简短的解释,篇幅不大,不断更新中… const与readonly readonly为运行时常量,const为编译时常量。 编译时常量比运行时常量快,性能好,但是缺乏灵活性(编译时常量需要重新编译应用程序)。 编译时常量(const)仅限于数值和字符串(基元类型),C#不允许使用new来初始化一个编译时常量 const修饰的常量默认是静态的(类型)。 readonly修饰的字段可以在构造函数中被修改。 使用const较之使用readonly的唯一好处就是性能。 partial关键字 此关键字允许将类、结构或接口的定义拆分到多个文件中。 如果类的定义,其内容很多,那么分别放在不同的文件中就是一个不错的选择。 在File1.cs中 namespace Aiqier { partial class A { int num = 0; void MethodA() {} partial void MethodC(); } } 在File2.cs中 namespace Aiqier { partial class A { void MethodB() {} partial void MethodC() {} } } sealed关键字 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。类似于Java中final关键字。 new和override Override关键字主要是提供派生类对基类方法的新实现,重写的基类方法必须和Override的方法具有相同的签名。 New关键字主要用来区别派生类和基类同名方法的选择问题,通过隐藏基类方法,达到使编译器调用正确的方法的目的。 也就是说New 关键字在作为修饰符用于向基类成员隐藏继承成员时,对于派生类该关键字指示方法是重写的新方法,但是关闭了多态性。具体调用的方法为声明时变量的方法。 C#中using语句怎么用? 说道using的话,首先要说的就是.Net中的两种资源,也就是托管资源和非托管资源。 托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象。 非托管资源:不受CLR管理的对象,如Windows内核对象,文件,数据库连接,套接字,COM对象。 这里要注意,假如说你的类型需要显式释放资源,那么一定要继承IDispose接口。 而这个IDispose接口就是为using语法糖提供便利,那种在finall处调用Dispose函数的try-catch-finally语句块,其实和using语句生成的IL代码基本上完全一致。 c#类型转换 见我之前写的博客: c#类型转换 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。