ASP.NET新手問題總結(jié)
下面為ASP.NET新手總結(jié)了一些問題及解答,希望能對諸位剛剛開始接觸ASP.NET的讀者有些幫助。
ASP.NET新手問題1,關于ref與out的區(qū)別
ref 參數(shù)傳入時需要初始化
out 參數(shù)傳入時不需要初始化,但是出來的時候需要保證會產(chǎn)生一個有效地引用
ASP.NET新手問題2,在堆上運行跟在棧上運行有什么區(qū)別
類,引用型等大型對象被分配在堆上,而值類型分配在堆棧中,后者效率高。每個過程都有自己的堆棧空間,退出過程時,c#自動釋放堆棧空間。堆則由垃圾收集器來管理
ASP.NET新手問題3,frameset 和 iframe 的區(qū)別
frameset是框架,一個網(wǎng)頁被劃分成幾個塊, 每個塊為不同的網(wǎng)頁文件。iframe是內(nèi)嵌網(wǎng)頁,可以被嵌在一個頁頁的任何地方。一般iframe使用靈活些
ASP.NET新手問題4,sprintf、wsprintf、printf的區(qū)別
sprintf用于打印ANSI字符集
wsprintf用于打印UNICODE字符集
printf向標準設備輸出,也就是顯示器STDOUT
ASP.NET新手問題5,Server.transfer 和response.redirect的區(qū)別
Server.Transfer:使用服務器端方法將用戶重定向到另一頁。
在此方案中,服務器只是將上下文傳輸?shù)搅硪豁摗F鋬?yōu)點是您可以共享頁之間的頁上下文信息。其缺點是用戶的瀏覽器不知道在進行傳輸,因此不更新瀏覽器的歷史記錄。如果用戶刷新此頁,則可能會產(chǎn)生意外的結(jié)果。
Response.Redirect:將用戶從瀏覽器重定向到另一頁。
在此方案中,將一個命令發(fā)送到用戶瀏覽器,使瀏覽器獲取另一頁。其優(yōu)點是更新瀏覽器的歷史記錄。其缺點是此方案執(zhí)行額外的往返過程,這會影響性能。
ASP.NET新手問題6,Page.RegisterStartupScript 和response.write 的區(qū)別
Page.RegisterClientScriptBlock
腳本將會被放在緊挨“< /form>”
的前面。
Page.RegisterStartupScript
腳本將會被放在緊挨后幾個隱藏的input的后面。
ASP.NET新手問題7,class 和struct的區(qū)別
結(jié)構(gòu)是值類型,class 是引用類型。
所有結(jié)構(gòu)類型隱式地從類 System.valueType 繼承。
對結(jié)構(gòu)類型變量進行賦值意味著將創(chuàng)建所賦的值的一個“副本”。
一個結(jié)構(gòu)的默認值的計算如下:將所有值類型字段設置為它們的默認值,并將所有引用類型字段設置為 null,這樣就產(chǎn)生了該結(jié)構(gòu)的默認值。
使用裝箱和取消裝箱操作在結(jié)構(gòu)類型和 object 之間進行轉(zhuǎn)換。
對于結(jié)構(gòu),this 的意義不同。
在結(jié)構(gòu)中,實例字段聲明中不能含有變量初始值設定項。
在結(jié)構(gòu)中不能聲明無參數(shù)的實例構(gòu)造函數(shù)。
在結(jié)構(gòu)中不能聲明析構(gòu)函數(shù)。
【編輯推薦】