1,关于ref与out的区别
ref 参数传入时需要初始化
out 参数传入时不需要初始化,但是出来的时候需要保证会产生一个有效地引用
2,在堆上运行跟在栈上运行有什么区别
类,引用型等大型对象被分配在堆上,而值类型分配在堆栈中,后者效率高。每个过程都有自己的堆栈空间,退出过程时,c#自动释放堆栈空间。堆则由垃圾收集器来管理
3,frameset 和 iframe 的区别
frameset是框架,一个网页被划分成几个块, 每个块为不同的网页文件。iframe是内嵌网页,可以被嵌在一个页页的任何地方。一般iframe使用灵活些
4,sprintf、wsprintf、printf的区别
sprintf用于打印ANSI字符集
wsprintf用于打印UNICODE字符集
printf向标准设备输出,也就是显示器STDOUT
5,Server.transfer 和response.redirect的区别
Server.Transfer:使用服务器端方法将用户重定向到另一页。
在此方案中,服务器只是将上下文传输到另一页。其优点是您可以共享页之间的页上下文信息。其缺点是用户的浏览器不知道在进行传输,因此不更新浏览器的历史记录。如果用户刷新此页,则可能会产生意外的结果。
Response.Redirect:将用户从浏览器重定向到另一页。
在此方案中,将一个命令发送到用户浏览器,使浏览器获取另一页。其优点是更新浏览器的历史记录。其缺点是此方案执行额外的往返过程,这会影响性能。
6,Page.RegisterStartupscript 和response.write 的区别
Page.RegisterClientscriptBlock
脚本将会被放在紧挨“</form>”
的前面。
Page.RegisterStartupscript
脚本将会被放在紧挨后几个隐藏的input的后面。
7,class 和struct的区别
结构是值类型,class 是引用类型。
所有结构类型隐式地从类 System.valueType 继承。
对结构类型变量进行赋值意味着将创建所赋的值的一个“副本”。
一个结构的默认值的计算如下:将所有值类型字段设置为它们的默认值,并将所有引用类型字段设置为 null,这 样就产生了该结构的默认值。
使用装箱和取消装箱操作在结构类型和 object 之间进行转换。
对于结构,this 的意义不同。
在结构中,实例字段声明中不能含有变量初始值设定项。
在结构中不能声明无参数的实例构造函数。
在结构中不能声明析构函数。