C#简单的面试题目(二)

16.new 的两种用法

实例化对象  new Class();        隐藏基类方法,即覆盖方法  public  new xxx(){}

17.委托与事件的用法

public delegate void handles();   ////定义委托,返回值为void,没有参数

public event handles eventhandels;  ///定一个委托类型的事件

public void test()

{

  ////another  code

}

Class.eventhandels=new handels(test);

18.传入某个属性的SET方法的隐含参数的名称是什么

value ,它的类型和属性所声明的类型相同。

19.String与StringBuilder类有什么区别?为什么在.NET类库中要同时存在这两个类?

StringBuilder比String更节约内存,所以StringBuilder更快

String对象是不可改变的。每次使用System.String类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。而StringBuilder则不会。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。

20.在C#中,string str=null与string str=""请尽量使用文字或图像说明其中的区别。

string str=null是不给他分配内存空间,而string str=""给它分配长度为空字符串的内存空间。

21.Asp.Net 身份验证方式有那些?分别是什么原理?

Windows(默认)    用IIS……Form(窗体)   用帐户……Passport(密钥)

22.是IIS中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate Server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件

23.C#可否对内存进行直接的操作?

在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员,不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用Finalize方法。

24.DateTime是否可以为null?

不能,因为其为Struct类型,而结构属于值类型,值类型不能为null,只有引用类型才能被赋值为null

25.DateTime.Parse(myString);这行代码有什么问题?

有问题,当myString不能鳗鱼事件格式要求的时候,会引发异常,建议使用DateTime.TryParse(),DateTime.TryParse()如果转换成功则输出日期,反之失败了,就返回null.

26.C#错误处理机制是

采用try->catc->finally

27.为什么不提倡catch(Exception)

try..catch在出现异常的时候影响性能,应该捕获更具体的异常,比如IOExeception,OutofMemoryException等

28.catch(Exception e){throw e;}和catch(Exception e){throw;}的区别

前者将发生的异常对象抛出,而后者只是抛出异常,并没有抛出原异常对象

29.error和Exception的区别

error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这种异常。

exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生情况。

30.Static和非Static的区别:

一.用Static声明的方法和变量,不需要实例化该类就调用;

二.非Static的,就一定要用实例化的对象来调用,即用new来实例化。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

C#核编之格式化编程

一、格式化控制台输入输出     1、 在前面的随笔中,会经常看到诸如{0},{1}之类的标记嵌入在字符串变量中。.NET引入一种字符串格式化的新风格。与C的p...

19110
来自专栏分布式系统和大数据处理

.Net中的反射(查看类型信息) - Part.2

简单来说,反射提供这样几个能力:1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);2、迟绑定(Late-Binding)方法和属性。3...

1183
来自专栏黑泽君的专栏

【Java面试复习经典】传智播客Java就业班入学测试题及答案解析(2012年版)

  共50道题,每道题2分,总分100分,80分为合格。   注意,题目有多选,也有单选。请认真作答。

1513
来自专栏desperate633

Java Comparable 与 Comparator

在收集对象之后,对象的排序是经常需要用到的操作。但我们不需要亲自实现各种排序算法,java.util.Collections提供了sort方法,List作为一种...

601
来自专栏Pythonista

封装与扩展性

封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码;而外部使用用者只知道一个接口(函数),只要接口(函数)名、参数不变,使用者的代码...

923
来自专栏韩伟的专栏

框架设计原则和规范(四)

祝大家平安夜平安,圣诞节快乐! 此文是《.NET:框架设计原则、规范》的读书笔记,本文内容较多,共分九章,将分4天进行推送,今天推送最后两章。 1. 什么是好的...

4224
来自专栏xx_Cc的学习总结专栏

iOS底层原理总结 - 探寻block的本质(二)

2834
来自专栏风口上的猪的文章

.NET面试题系列[6] - 反射

在面试中,通常会考察反射的定义(操作元数据),可以用反射做什么(获得程序集及其各个部件),反射有什么使用场景(ORM,序列化,反序列化,值类型比较等)。如果答得...

1032
来自专栏屈定‘s Blog

Java--Enum的思考

枚举类是Java5引进的特性,其目的是替换int枚举模式或者String枚举模式,使得语义更加清晰,另外也解决了行为和枚举绑定的问题.

1374
来自专栏恰同学骚年

.NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法

开篇:在上一篇中,我们了解了自动属性、隐式类型、自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类、匿名方法以及常用的扩展方法。虽然,都是很常见的东西,...

1153

扫码关注云+社区

领取腾讯云代金券