随笔分类 - .net面试题
摘要:通用catch块指的是catch(Exception)就是通用catch块,它负责捕获Exception类型的错误。Exception表示在应用程序执行期间发生的错误。一个try只能有一个通用的catch块。
阅读全文
摘要:final修饰符用于指定类不能扩展或者方法或属性不能重写。它将防止其他类通过重写重要函数来更改类的行为。带finally块用于清除在try块中分配的任何资源。控制总是传递给finally快,与try块的存在方式无关。finalize允许object在“垃圾回收”回收object之前尝试释放资源并执行其他清理操作。
阅读全文
摘要:编写一段代码,其功能是打印代码本身(要完全使用程序代码生成一段和自己的代码一模一样的字符串)?class p{ static void main() { {string s={1}{0}{1};system.console.writeline(s,s,(char)34;)}} } }; system.console.writeline(s,s,(char)34;)} }
阅读全文
摘要:在方法声明extern修饰符一起指示在外部实现方法。外部修饰符的常见用法是与DLLImport属性一起使用。自己编写的类,直接诶添加引用即可,不需要COM交互,不必使用这种方式。将abstract和extern修饰符一起使用来修改同一成员是错误。使用extern修饰符意味着方法在C#代码中实现,而使用abstract修饰符意味着在比类中未提供此方法的实现。因为外部方法的声明不提供实现,所以没有方法体;比方法声明只是一个以分号结束(在签名之后没有大括号{})。例如:public static extern int myMethod(int x);
阅读全文
摘要:1、DateTime是否能为null?不能,因为其为struct类型,而结构属于值类型,值类型是不能为null,只有引用类型才能为null。2、DateTime.Parse(myString);这行代码有什么问题?有问题,当myString不能满足时间格式要求的时候,会引发异常,建议使用DateTime.TryParse();
阅读全文
摘要:C#的引用类型包括:数组、用户自定义的类、接口、托管、OBJECT,字符串。数组的元素不论是引用类型还是值类型,都是存储在托管堆上。C#的值类型包括:结构体(数值类型、BOOL类型、用户自定义的结构体),枚举和可空类。
阅读全文
摘要:区别很多,首先是托管和非托管的区别,托管代码不允许进行对内存的操作,而是由固定的垃圾回收机制来完成,而C++则不然。其次C#不需要这样一个平台。最后C#是完全面向对象的,C#的世界里万物皆是类,不存在一个超越类以上的函数或是变量。C++也是面向对象的,但是仍然保留面向过程的语言特点(比如说全局变量)。最后,C#摈弃了C++中多重继承等不易掌握的特点,代之以接口等,是变成变得更加轻松和简便。
阅读全文
摘要:Just In Time是指即时编译,它是在程序第一次运行时才进行编译,而NGEN是预先JIT,是指运行前事先就将生成程序集的加载和执行速度,因为它可以从本机镜像中还原数据代码和数据结构,而不是像JIT那样动态生成它们。
阅读全文
摘要:Gloal Assembly Cache,全局应用程序缓存。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集复制到应用程序目录中,.NET应用程序在加载时,会首先查找全局应用程序集缓存,如果有,就可以直接用,没有再到应用程序目录中进行查找。例如:System.Data;System.Windows.Form;等。
阅读全文
摘要:强/弱类型是指类型检查的严格程度。语言有无类型,强类型和弱类型3种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格地区分指令和数据。强类型则严格地在编译器进行检查。 弱类型语言允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加。C和C++是静态语言,也是强类型原因呢;Perl和php是动态语言,但也是弱类型语言。强类型语言在没有强制类型转化前,不允许两种不同的类型相互操作。Java,C#和Python等都是强类型语言。 使用哪种语言还是按需要而定。编写简单而小的应用程序,使用弱类型语言可节省很多代码量,有更高的开发效率。而针对构建大型项目,使用了强类型语言可能更加.
阅读全文
摘要:.NET技术不断翻新,.NET框架的版本从1.0开始进过1.1,2.0,3.0,3.5现在到了4.0的版本。.NET4.0与Framwork 3.5 sp1并行工作。在旧版本的Framwork中可以运行应用程序,将继续能够在.NET4.0上。.NET2.0 ,3.0和3.5版本的sp1都在相应的程序集中。
阅读全文
摘要:中文翻译上都是“属性”,实际上两者都是大相径庭的。Attribute属于OOA/OOD的概念,而Property属于编程语言中的概念。Attribute是Microsofe .NET FRAMEWORK 文件的元数据,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。Property属性是面向对象编程的基本概念,提供了对私有字段的访问封装,在C#中以get和set访问器方法实现时可读可写属性的操作,提供了安全和灵活的数据访问封装。可以说两者没有可比性,只要记住Attribute是派生于System.Attribute类之下,它的主要作用是描述,比如为了描述某个方法是来自外部
阅读全文
摘要:CLR是公用语言运行时(Common Language Runtime),是一种多语言执行环境,是.net提供的一种运行环境,支持众多数据类型和语言特性。它管理者代码的执行,并使开发过程变得简单。这是一种可操控的执行环境,其功能通过编译器与其他工具共同展现。为了使运行时环境可以向可控代码提供服务,语言编译器需要产生一种元数据,它将提供在使用语言中的类型,成员,引用的信息。运行时环境使用元数据定位并载入类,在内存中展开对象实例,解决方法调用,产生本地代码,强制执行安全性,并建立运行时环境的边界。CTS:公共类型系统(Common Type System)类似于COM定义的标准二进制格式。
阅读全文
浙公网安备 33010602011771号