C sharp 笔试题目整理.docx

上传人:M****1 文档编号:562249525 上传时间:2023-10-17 格式:DOCX 页数:23 大小:93.17KB
返回 下载 相关 举报
C sharp 笔试题目整理.docx_第1页
第1页 / 共23页
C sharp 笔试题目整理.docx_第2页
第2页 / 共23页
C sharp 笔试题目整理.docx_第3页
第3页 / 共23页
C sharp 笔试题目整理.docx_第4页
第4页 / 共23页
C sharp 笔试题目整理.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C sharp 笔试题目整理.docx》由会员分享,可在线阅读,更多相关《C sharp 笔试题目整理.docx(23页珍藏版)》请在金锄头文库上搜索。

1、1.类和对象的定义类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。类是封装数据的基本单位,用来定义对象可以执行的操作;对象是类的实例;对象是具有类类型的变量。2.类和对象的关系类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。3.结构体和类的区别1: 类可以继承,结构不可以.但是结构能够继承接口。2: 类是引用类型, 引用类型在堆上分配地址,结构是值类型, 值类型在堆栈上分配地址 3: 结构:没有默认的构造函数,但是可以添加构造函数

2、,没有析构函数,没有 abstract 和 sealed(因为不能继承)不能有protected修饰符,可以不使用new 初始化类:有默认的构造函数,有析构函数,可以使用 abstract 和 sealed 有protected 修饰符,必须使用new 初始化1堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些2结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。3在表现抽象和多级别的对象层次时,类是最好的选择4大多数情况下该类型只是一些数据时,结构时最佳的选择4.错误和异常有什么区

3、别?1.错误是可以避免的,异常是不可以避免的2. 错误通常指的是程序员代码的错误,一般程序编译不过去,异常是运行的时候,如超时,服务器死机,断电等导致;3.异常是逻辑性的错误代码编译过去了,但在运行时出现的错误我们称之为异常4.出现错误好改,但异常通常不太好改5.C#中,string str = null 与 string str = ,说明区别: string str = 初始化对象分配空间。 string str = null 表示一个空引用,没有占用空间6.DataGrid的Datasouse可以连接什么数据源: 1) DataTable 2) DataView 3) DataSet 4

4、) DataViewManager 5) 任何实现IListSource接口的组件 6) 任何实现IList接口的组件7.可访问性级别有哪几种: 1) public 访问不受限制。任何外部的类都可以不受限制地存取这个类的方法和成员数据 2) protected 这个类以及其派生类都可以访问。 3) internal 只有在同一程序集的文件中,内部类型或成员才是可访问的。 4) protected internal 只限于当前项目,或者从该项目的类继承的。5) private 私有成员只有在声明它们的类和结构体中才是可访问的。8.抽象类abstract和接口interface的异同: 相同点:

5、1) 都可以被继承。 2) 都不能被实例化。 3) 都可以包含方法声明。 4) 派生类必须实现未实现的方法。 区 别: 1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。 2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。 3) 接口可以被多重实现,抽象类只能被单一继承。 4) 抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中。 5) 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性。 6)

6、接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法。 7) 接口可以用于支持回调,而继承并不具备这个特点。 8) 抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的。 9) 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法。9.什么叫应用程序域: 应用程序域为安全性、可靠性、版本控制以及卸载程序集提供了隔离边界,应用程序域可以理解为一种轻量级进程,起到安全的作用,占用资源小。10.强类型: 为所有变量指定数据类型称为“强类型”。C#是强类型语言。11.装箱和拆箱: 1. 从值类

7、型接口转换到object(引用类型?)型:装箱。 2. 从object型转换到值类型:拆箱。 12.CLR:公共语言运行库 Common Language Runtime。 是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。13.值类型和引用类型的区别: 1) 值类型通常被分配在栈上,它的变量直接包含变量的实例,使用效率比较高。 2) 引用类型分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通过该指针来引用实例。 3) 一个是值COPY,一个是地址COPY。14.GC是什么? 为什么要有GC? GC是垃圾收集器。程序员不用担心内存管理

8、,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc(); Runtime.getRuntime().gc()15.ASP.NET 页面之间传递值的几种方式,与各自的优缺点: 1) 使用QueryString变量:Response.Redirect(字符串); 简单,显示于地址栏,长度有限。 2) 使用Session变量: 简单;但易丢失。 3) 使用Application 变量:全局;易被误操做。 4) 使用Server.Transfer:可以传递各种数据类型的值;显示在地址栏。 5) 使用Cookie变量:使用简单;存在客户端可能被伪造。16.进程和

9、线程的区别: 1) 进程是系统进行资源分配和调度的单位。 2) 线程是CPU调度和分派的单位。 3) 一个进程可以有多个线程,这些线程共享这个进程的资源。17.ADO.NET的组成部分: ADO.NET有两个重要组成部分,即DataSet和.NET数据提供者。 .NET 数据提供者的对象包括:Connection、Command、CommandBuilder、DataReader 和DataAdapter。1) Connection对象:主要是开启程序和数据库之间的连结。 2) Command 对象:主要可以用来对数据库发出一些指令; 3) DataAdapter对象:主要是在数据源以及Dat

10、aSet之间执行数据传输的工作; 4) DataSet对象:可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来;DataSet对象可以说是ADO.NET中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter 对象当做DataSet对象以及数据源间传输数据的桥梁。 5) DataReader 对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。 18.堆和栈的区别: 1) 栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。存放值类型。 2) 堆:一般由程

11、序员分配释放。用new等分配内存函数得到的就是在堆上。存放引用类型。 19.在c#中using和new这两个关键字有什么意义: using 关键字有两个主要用途: 1) 作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 2) 作为语句,用于定义一个范围,在此范围的末尾将释放对象。 new 关键字:新建实例或者隐藏父类方法 20.什么是code-Behind技术: 就是页面与代码分离;ASPX,RESX和CS三个后缀的文件,这个就是代码分离。 实现了HTML代码和服务器代码分离,方便代码编写和整理。21.NET的错误处理机制: .NET错误处理机制采用try-catch-fina

12、lly结构。 发生错误时,层层上抛,直到找到匹配的catch为止。22.System.String 和System.StringBuilder有什么区别? 1) System.String是不可变的字符串。 2) System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的法。 3) String类在执行字符串拼接的操作上,用“+”会产生新的对象,占用内存。 4) StringBuilder类只是修改字符串的内容,不建立新的对象。23.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 一般为3层:数据访问层,业务层,表示

13、层。 1) 数据访问层对数据库进行操作(增删查改)。 2) 业务层一般分为二层,业务表现层实现与表示层的沟通,业务规则层实现用户密码的安全等。 3) 表示层为了与用户交互例如用户添加表单。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。24.是否可以继承String类? String类是sealed类故不可以继承。25.数组有没有length()这个方法? String有没有length()这个方法? 数组、String类都没有Length()方法,它们只有Length属性。26.成员变量和成员函数前加static的作用: 即使没有创建类的实例,也可以调用该类中的

14、静态方法、字段、属性或事件。如果创建了该类的任何实例,不能使用实例来访问静态成员。静态成员通常用于表示不会随对象状态而变化的数据或计算。27.什么是虚函数?什么是抽象函数? 1) 虚函数:没有实现的,可由子类继承并重写的函数。 2) 抽象函数:规定其非虚子类必须实现的函数,必须被重写。28.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:1) 密码单词的最小长度是两个字母,可以相同,也可以不同。 2) K不可能是单词的第一个字母。 3) 如果L出现,则出现次数不止一次。 4) M不能使最后一个也不能是倒数第二个字母。 5) K出现,则N就一定出现。 6) O如果是最后一个字母,则L一定出现。 问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词? A. K B. L C. M D. N 答案:B。 问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少? A. 1个 B. 3个 C. 6个 D. 9个 答案:A。 问题三:下列哪一个是单词密码? A. KLLN B. LOML C. MLLO D. NMKO 答案:C。29. 和 有什么区别? :数据绑定表达式语法。所有数据绑定表达式都必须包含在 字符之间。 :ASP.NET 网页中的嵌入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号