ASP.NET程序员面试题汇总:页面传值、委托、类和结构体等

需积分: 3 1 下载量 54 浏览量 更新于2024-07-19 收藏 38KB DOCX 举报
面试题汇总-.NET程序员面试题汇总及参考答案 本文档对.NET程序员面试题进行了汇总,涵盖了多个方面的知识点,包括ASP.NET页面之间传递值的几种方式、委托和事件的关系、类和结构体的异同、ref和out的区别、Application、Cookie和Session的区别等。 一、ASP.NET页面之间传递值的几种方式 ASP.NET页面之间传递值有多种方式,包括QueryString变量、Application变量、Session变量、Cookie对象缓存和Server.Transfer等。每种方式都有其优点和缺点。 1. QueryString变量:使用简单,对于安全性要求不高时传递数字或文本值非常有效。但是,它的值暴露在浏览器的URL地址中,缺乏安全性,不能传递对象。 2. Application变量:使用简单,消耗较少的服务器资源。不仅能传递简单数据,还能传递对象。数据量大小是不限制的。但是,作为全局变量容易被误操作。 3. Session变量:使用简单,不仅能传递简单数据类型,还能传递对象。数据量大小是不限制的。但是,在Session变量存储大量的数据会消耗较多的服务器资源。 4. Cookie对象缓存:使用简单,是保持用户状态的一种非常常用的方法。比如,在购物网站中用户跨多个页面表单时可以用它来保持用户状态。但是,安全性较低。 5. Server.Transfer:直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求。可以传递各种数据类型的值和控件的值。但是,客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。 二、委托和事件 委托就是将方法当作参数带入另一个方法,适用场合:跨页面刷新等。事件可以看作是一个委托类型的变量,EventHandler就是一个委托。 三、类和结构体的异同 结构体的初始化也使用了new操作符,可是结构体对象依然分配在堆栈上而不是堆上。堆栈的执行效率要比堆的执行效率高。 四、ref和out的区别 关键字“ref“和”out”之间的唯一区别就是关键字”out“不要求调用方法初始化要传递的参数值,“ref”必须要初始化。 五、Application、Cookie和Session的区别 Application:作用范围最大,是应用级别的,同一个应用程序中的所有用户都可共享这个对象。 Cookie:存储的数据是字符串的形式,存储位置在客户端,必然在服务器端与客户端频繁进行交换信息,会影响项目性能,但因保存在客户端,信息可长期保存。 Session:存储数据的形式是对象,作用范围小于Application,同一个用户在同一个应用程序中的所有页面都可共享这个对象。 本文档对.NET程序员面试题进行了详细的总结和解释,涵盖了多个方面的知识点,希望能够帮助开发者更好地理解和掌握相关的技术。