ASP.NET面试题精选【二】

11请说明在C#中,string str = null 与 string str = “” 以及 string str=String.Empty 的区别。

string str = null 是不分配内存空间的,

而 string str = "" 和 string str=String.Empty 均分配长度为0的空字符串的内存空间,一般推荐使用 string str=String.Empty ,因为 String.Empty 让代码好读,防止代码产生歧义(如“”和“ ”不太好区分)。

12请详述在dotnet中类(class)与结构(struct)的异同?

class可以被实例化,属于引用类型,是分配在内存的堆上的,struct属于值类型,是分配在内存的栈上的。

13try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,在return前执行。

14short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 

short s1 = 1; s1 = s1 + 1;有错,s1是short型,而s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。

short s1 = 1; s1 += 1;正确。

15float f=-123.567F; int i=(int)f;i的值现在是_____?

-123。

16堆和栈的区别? 

堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。

栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。

17StringBuilder 和 String 的区别? 

StringBuilder 是可扩展的,在大量字符串拼接时使用。

String 在进行运算时会产生一个新的实例。

18向服务器发送请求有几种方式? 

get,post。get一般为链接方式,post一般为按钮方式。

19什么是泛型?

从编程的角度说是在定义类或者方法的时候省去具体的类型,由调用者来指定,类型+泛型类型合成得到真正的类型。

从实现机制上说,泛型是CLR在运行时动态根据泛型类型创建的匿名类型。

从OO设计的角度说,泛型体现了多态性。泛型使得程序员可以复用数据结构和算法,并且适应不同的类型,享有编译期间的强类型检查和语法提示。

20session有什么重大bug,微软提出了什么方法加以解决?

iis中由于有进程回收机制,系统繁忙的话session会丢失,可以用state server或sql server数据库的方式存储session不过这种方式比较慢,而且无法捕获session的end事件。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花