欢迎来到天天文库
浏览记录
ID:16274540
大小:75.00 KB
页数:10页
时间:2018-08-08
《面试题(.net)答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、C#1.请解释在new与override的区别?在C#中,new关键字可用作运算符或修饰符。·new运算符用于在堆上创建对象和调用构造函数。·new修饰符用于隐藏基类成员的继承成员。使用override修饰符来修改方法、属性、索引器或事件。重写方法提供从基类继承的成员的新实现。由重写声明重写的方法称为重写基方法。重写基方法必须与重写方法具有相同的签名。不能重写非虚方法或静态方法。重写基方法必须是虚拟的、抽象的或重写的。重写声明不能更改虚方法的可访问性。重写方法和虚方法必须具有相同的访问级修饰符。不能使用下列修
2、饰符修改重写方法:new static virtual abstract重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且重写属性必须是虚拟的、抽象的或重写的。2.请解释virtual的含义?virtual关键字用于修改方法或属性的声明,在这种情况下,方法或属性被称作虚拟成员。虚拟成员的实现可由派生类中的重写成员更改。调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。默认情况下,方法是非虚拟的。不能重写
3、非虚方法。不能将virtual修饰符与以下修饰符一起使用:static abstract override除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。·在静态属性上使用virtual修饰符是错误的。·通过包括使用override修饰符的属性声明,可在派生类中重写虚拟继承属性3.请解释.net采用委托实现的事件模型与JAVA中采用接口实现的事件模型有什么区别,以图示方式解释。4.请解释接口的显式实现有什么意义?接口是其他类型为确保它们支持某些操作而实现的引用类型。接口从不直接创建而且没有实际的表
4、示形式,其他类型必须转换为接口类型。一个接口定义一个协定。实现接口的类或结构必须遵守其协定。接口可以包含方法、属性、索引器和事件作为成员。5.请以图示方式解释.netframework?VBC++C#JScript…CommonLanguageSpecificationXMLWebservicesWebFormsWindowsFormsDataandXMLBaseClassLibraryCLRCLIVisualStudio.NET6.什么是.net?.net是一种平台和框架,.net不是单纯的语言也不是单纯的工具
5、,它是从底层平台开始构建起来的一个整体框架1.Ref与out有什么不同?方法参数上的ref方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用ref参数,必须将参数作为ref参数显式传递到方法。ref参数的值被传递到ref参数。传递到ref参数的参数必须最先初始化。将此方法与out参数相比,后者的参数在传递到out参数之前不必显式初始化。属性不是变量,不能作为ref参数传递。如果两种方法的声明仅在它们对ref的使用方面不同,则将出现重载。
6、但是,无法定义仅在ref和out方面不同的重载。方法参数上的out方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。当希望方法返回多个值时,声明out方法非常有用。使用out参数的方法仍然可以返回一个值。一个方法可以有一个以上的out参数。若要使用out参数,必须将参数作为out参数显式传递到方法。out参数的值不会传递到out参数。不必初始化作为out参数传递的变量。然而,必须在方法返回之前为out参数赋值。属性不是变量,不能作为out参数传
7、递。如果两个方法的声明仅在out的使用方面不同,则会发生重载。不过,无法定义仅在ref和out方面不同的重载。2.值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型。大多数编程语言提供内置的数据类型(比如整数和浮点数),这些数据类型会在作为参数传递时被复制(即,它们通过值来传递)。在.NETFramework中,这些称为值类型。您可以创建值类型的实例,将它们作为参数传递,将它们存储为局部变量,或将它们存储在另一值类型或对象的字段中。值类型没有与存储类的实例相关的系统开销,并且它们不需要构造函数。
8、值类型可以有字段、属性和事件。它们也有静态和非静态方法。当它们被装箱时,会从System.ValueType继承虚方法,并可实现零个或更多接口。值类型是密封的,这意味着不能从它们派生出其他类型。但是,可以直接对值类型定义虚方法,并且既可对该类型的已装箱形式,也可对未装箱形式调用这些方法。尽管不能从一种值类型派生出另一种类型,但是当所用语言处理虚方法比处理非虚方法或静态方法
此文档下载收益归作者所有