C#笔试题及答案
C#笔试题及答案
一个C#的结构体与C++的结构体是相似的,因为它能够包含数据声明和方法.但是,不像C++,C#结构体与类是不同的而且不支持继承.但是,与Java相同的是,一个结构体可以实现接口。下面就由学习啦小编为大家介绍一下C#笔试题及答案的文章,欢迎阅读。
C#笔试题及答案篇1
1、面向对象的思想主要包括什么?
● 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。
● 继承:子类拥有父类的所有数据和操作。
● 多态:一个程序中同名的不同方法共存的情况。 有两种形式的多态– 重载与重写。
2、什么是ASP.net中的用户控件
用户控件就是.ascx扩展名的东西,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.
3、new 关键字用法
(1)new 运算符:用于创建对象和调用构造函数。
(2)new 修饰符:用于向基类成员隐藏继承成员。
(3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。
C#笔试题及答案篇2
1、什么叫应用程序域?什么是受管制的代码?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
应用程序域为安全性、可靠性、版本控制以及卸载程序集提供了隔离边界。应用程序域通常由运行库宿主创建,运行库宿主负责在运行应用程序之前引导公共语言运行库。应用程序域提供了一个更安全、用途更广的处理单元,公共语言运行库可使用该单元提供应用程序之间的隔离。
受管制的代码:在.Net环境中运行的任何代码都是受管制的代码(managed code),.Net外部的代码也运行在windows上,这些代码称为未受管制的代码(unmanaged code)。
使用基于公共语言运行库的语言编译器开发的代码称为托管代码;托管代码具有许多优点,例如:跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务等。
强类型语言是能够禁止任何违反类型系统的代码的语言,或者说是能够捕获所有违反类型系统的错误的语言。我们说C++相对于C是强类型的,是因为C++禁止了一些C中的隐式转换,比如将void*转换为任意的指针类型。
装箱和拆箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到 Object 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。拆箱将从对象中提取值类型。
每个类型成员都有一个唯一的签名。方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。只要签名不同,就可以在一种类型内定义具有相同名称的多种方法。当定义两种或多种具有相同名称的方法时,就称作重载。
CTS通用类型系统 (common type system)
一种确定公共语言运行库如何定义、使用和管理类型的规范。
CLR公共语言运行库
.NET Framework 提供了一个称为公共语言运行库的运行时环境,它运行代码并提供使开发过程更轻松的服务。
CLS公共语言规范
要和其他对象完全交互,而不管这些对象是以何种语言实现的,对象必须只向调用方公开那些它们必须与之互用的所有语言的通用功能。为此定义了公共语言规范 (CLS),它是许多应用程序所需的一套基本语言功能。
2、列举一下你所了解的XML技术及其应用
XML 代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言)。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。
通过XML,你可以在HTML文件之外存储数据;可以在不兼容的系统之间交换数据;可以在网络中交换金融信息;纯文本文件可以用来共享数据;纯文本文件可以用来存储数据;你的数据可以被更多的用户使用;可以用于创建新的语言。
C#笔试题及答案篇3
1、ASP.net的身份验证方式有哪些?分别是什么原理?
Forms身份验证:要发出登录请求,需要在网页上填写一个表单并将该表单提交到服务器。服务器在接受该请求之后,将向用户的本地机器写一个cookie,在后续的浏览中,浏览器每次发送请求时都会将该cooike送回服务器,这个用户就可以根据自己的希望保持身份验证状态。
Windows身份验证:登录页面将用户证书发送到Web服务器(只能是IIS,而不是VWD内建的Web服务器)。然后WEB服务器应用程序所运行的虚拟目录配置的方法处理身份验证。IIS连接到Windows操作系统和Active Directory(活动目录)域结构上,这意味着它依赖于存储在站点外部的用户配置文件,并使用标准WINDOWS证书登录到站点。根据站点的配置情况以及登录计算机所使用的账户,甚至可以不用直接登录站点,因为当前所使用的WINDOWS证书会自动传递到WEB服务器进行身份验证。这种方式在开发局域网应用程序时特别有用。
Passport身份验证:登录证书被传递到某个Microsoft Passport服务器,这个服务器集中保存了用户的配置文件。登录HOTMAIL帐户使用的就是这种方式。由于可以配置WINDOWS在启动时登录一个Passport帐户,因此在访问HOTMAIL收件箱时甚至都不需要输入口令。
2、进程和线程分别怎么理解?
应用程序被加载到内存中后叫进程。进程被CPU处理时叫线程。通常来说,一个进程可以定义程序的一个实例(Instance)。在Win32中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,正是这个线程负责包含进程地址空间中的代码。实际上,一个进程可以包含几个线程,它们可以同时执行进程地址空间中的代码。
3、什么是code-Behind技术。
就是代码隐藏,在ASP.NET中通过ASPX页面指向CS文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web应用程序的创建。比如分工,美工和编程的可以个干各的,不用再像以前asp那样都代码和html代码混在一起,难以维护。
4、活动目录的作用。
Active Directory存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些信息。Active Directory使用了一种结构化的数据存储方式,并以此作为基础对目录信息进行合乎逻辑的分层组织。其作用:
信息的安全性大大增强;引入基于策略的管理,使系统的管理更加明朗;具有很强的可扩展性;具有很强的可伸缩性;智能的信息复制能力;与 DNS 集成紧密;与其他目录服务具有互通性;具有灵活的查询。
5、net中读写XML的类都归属于哪些命名空间?
System.Xml