Net基础面试题
1.c#访问修饰符有哪些,有何异同?
private:私有类型,只用当前类可以访问
protected:访问包含类或者类派生的类
internal:程序集类型,在相同的命名空间内可以访问
public:访问成员没有限制,属于最高级别访问权限
protected internal:访问仅限于包含类派生的当前程序集或者类型
也就是同一程序集对象,或者该类及其子类可以访问 (一般不用写)
2.CTS,CLS,CLR ?
CTS:通用类型系统,实现com的变量兼容类型,而且还定义通用用户自定义类型的方式来进行类型扩展。
CLS:通用语言规范,制定了一种以.ent 平台为目标的语言所必须支持的最小特征,以及该语言与其他.net语言之间实现互操作性所需要的完备特征
CLR:公共语音运行库,CLR 是CTS的实现,CLR是应用程序的执行引擎和功能齐全的类库因为是在CLR监控下运行代码,称为托管代码,所以安全检查和垃圾回收
3.类和结构的异同?
class:是面向对象的基本概念,是一种自定义数据结构类型,通常包含字段, 属性,方法,构造函数,索引器,操作符等。所用的类都继承system.object 类
struct:是一种值类型,用于将一组相关的信息变量组织为一个单一的变量实体,所用结构都继承system.valuetype,因此是一种值类型
相同点:语法类似
不同点:
calss 引用类型 struct 是值类型 不具有多态性
calss 表现为行为 struct常用于存储数据
calss 可以继承类和接口 struct 直接接口继承
calss 可以声明无参构造函数,可以声明析构函数,struct 只能声明带参数的构造函数,且不能声明析构函数
calss 需要new实例化 struct 可以不使用new来实例化,所以状态未分配
4.抽象类和接口异同?
接口:包含一组虚方法的抽象类型,其中每一种方法都有名次,参数,返回值。接口方法不能包含任何实现
抽象类:多个派生类共享基类的公共定义,可以提供抽象方法,也可以提供非抽象方法,抽象非不能实例化,
必须通过继承实现抽象方法,抽象类不能使用new,也不能被密封。
不同点:接口实现多继承 抽象类不能实现多继承
接口定义抽象规则,抽象类可以定规则,还可以定义实现成员
接口是一组行为规范,抽象类是一个不完全的类
接口可以作用于值类型,引用类型,抽象类只能作用于引用类型
5 .序列化与反射的概念以及他们各自的作用?
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。
您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。
序列化:序列化是将对象转换为容易传输的格式的过程。
例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象
最新文章
- Tab切换类型
- iOS中的事件传递和响应者链条
- 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)
- 在编辑模式中一个ASP.NET应用详细视图显示集合属性 编辑模式和只读模式
- 用FSM写Case,玩过没?
- C++ string 构造的陷阱
- Bash 字符串处理命令
- 【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器
- 用JS添加和删除class类名
- javascript之BOM地址栏对象(Location)
- Linux常用命令速查-用户管理
- CSRF &; CORS 的区别
- centos yum install nginx
- Codeforces 380D Sereja and Cinema (看题解)
- python找递归目录中文件,并移动到一个单独文件夹中,同时记录原始文件路径信息
- M1阶段个人总结
- 面试 -- requestLayout、invalidate与postInvalidate区别
- (七)CXF添加拦截器
- java和js获取当前天之后或之前7天(任意)日期
- 4-51单片机ESP8266学习-AT指令(测试TCP服务器--使用串口调试助手--不连接路由器)