欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
.NET求職技術(shù)總結 - Meazza-asp.net - 博客園

.NET求職技術(shù)總結

[.NET(C#)]
把attribute翻譯成特性,用來(lái)標識類(lèi),方法
把property翻譯為屬性,性質(zhì),用于存取類(lèi)的字段
把markup翻譯成標記,tag還是翻譯成標簽比較好

[.NET(C#)]
.NET Framework的核心是其運行庫的執行環(huán)境。
稱(chēng)為公共語(yǔ)言運行庫(CLR)或.NET運行庫.
通常將在CLR的控制下運行的代碼稱(chēng)為托管代碼(managed code).
在CLR執行開(kāi)發(fā)的源代碼之前,需要編譯它們?yōu)橹虚g語(yǔ)言(IL),CLR再把IL編譯為平臺專(zhuān)用的代碼。

程序集(assembly)是包含編譯好的,面向.NET Framework的代碼的邏輯單元.
可執行代碼和庫代碼使用相同的程序集結構.
程序集的一個(gè)重要特性是它們包含的元數據描述了對應代碼中定義的類(lèi)型和方法.

[.NET(C#)]
ASP頁(yè)面有時(shí)顯示比較慢,因為服務(wù)器端代碼是解釋性的不是編譯的.
由于A(yíng)SP代碼不是結構化的所以難于維護,加上ASP不支持錯誤處理和語(yǔ)法檢查。
而ASP.NET頁(yè)面是結構化的。每個(gè)頁(yè)面都是一個(gè)繼承了.NET類(lèi)System.Web.UI.Page的類(lèi)。
另外ASP.NET的后臺編碼功能允許進(jìn)一步采用結構化的方式.
頁(yè)面請求是和WEB服務(wù)器在編譯后高速緩存ASP.NET頁(yè)面。

[.NET(C#)]
覆蓋(override)和重載(overload):
覆蓋是指子類(lèi)重新定義父類(lèi)的虛函數的做法。
重載,是指允許存在多個(gè)同名函數,而這些函數的參數表不同(或許參數個(gè)數不同,或許參數類(lèi)型不同,或許兩者都不同)。
其實(shí),重載的概念并不屬于“面向對象編程”,
重載的實(shí)現是:編譯器根據函數不同的參數表,對同名函數的名稱(chēng)做修飾
然后這些同名函數就成了不同的函數(至少對于編譯器來(lái)說(shuō)是這樣的)。
如,有兩個(gè)同名函數:function    func(p:integer):integer;    和function  func(p:string):integer;。
那么編譯器做過(guò)修飾后的函數名稱(chēng)可能是這樣的:int_func、str_func。
對于這兩個(gè)函數的調用,在編譯器間就已經(jīng)確定了,是靜態(tài)的(記?。菏庆o態(tài))。
也就是說(shuō),它們的地址在編譯期就綁定了(早綁定),
因此,重載和多態(tài)無(wú)關(guān)!真正和多態(tài)相關(guān)的是“覆蓋”。
當子類(lèi)重新定義了父類(lèi)的虛函數后,父類(lèi)指針根據賦給它的不同的子類(lèi)指針,動(dòng)態(tài)(記?。菏莿?dòng)態(tài)?。┑恼{用屬于子類(lèi)的該函數,
這樣的函數調用在編譯期間是無(wú)法確定的(調用的子類(lèi)的虛函數的地址無(wú)法給出)。
因此,這樣的函數地址是在運行期綁定的(晚邦定)。
結論就是:重載只是一種語(yǔ)言特性,與多態(tài)無(wú)關(guān),與面向對象也無(wú)關(guān)!

[.NET(C#)]
C#中ref和out的區別:
方法參數上的 out 方法參數關(guān)鍵字使方法引用傳遞到方法的同一個(gè)變量。
當控制傳遞回調用方法時(shí),在方法中對參數所做的任何更改都將反映在該變量中。
當希望方法返回多個(gè)值時(shí),聲明 out 方法非常有用。
使用 out 參數的方法仍然可以返回一個(gè)值。一個(gè)方法可以有一個(gè)以上的 out 參數。
若要使用 out 參數,必須將參數作為 out 參數顯式傳遞到方法。out 參數的值不會(huì )傳遞到 out 參數。
不必初始化作為 out 參數傳遞的變量。然而,必須在方法返回之前為 out 參數賦值。
屬性不是變量,不能作為 out 參數傳遞。

方法參數上的 ref 方法參數關(guān)鍵字使方法引用傳遞到方法的同一個(gè)變量。
當控制傳遞回調用方法時(shí),在方法中對參數所做的任何更改都將反映在該變量中。
若要使用 ref 參數,必須將參數作為 ref 參數顯式傳遞到方法。
ref 參數的值被傳遞到 ref 參數。 傳遞到 ref 參數的參數必須最先初始化。
將此方法與 out 參數相比,后者的參數在傳遞到 out 參數之前不必顯式初始化。
屬性不是變量,不能作為 ref 參數傳遞。

兩者都是按地址傳遞的,使用后都將改變原來(lái)的數值。
ref可以把參數的數值傳遞進(jìn)函數,但是out是要把參數清空
就是說(shuō)你無(wú)法把一個(gè)數值從out傳遞進(jìn)去的,out進(jìn)去后,參數的數值為空,所以你必須初始化一次。
兩個(gè)的區別:ref是有進(jìn)有出,out是只出不進(jìn)。

[.NET(C#)]
ADO和ADO.NET的區別:
ADO使用OLE DB接口并基于微軟的COM技術(shù)
而ADO.NET擁有自己的ADO.NET接口并且基于微軟的.NET體系架構。
ADO以Recordset存儲,而ADO.NET則以DataSet表示。
Recordset看起來(lái)更像單表,如果讓Recordset以多表的方式表示就必須在SQL中進(jìn)行多表連接。
反之,DataSet可以是多個(gè)表的集合。ADO 的運作是一種在線(xiàn)方式,這意味著(zhù)不論是瀏覽或更新數據都必須是實(shí)時(shí)的。
ADO.NET則使用離線(xiàn)方式,在訪(fǎng)問(wèn)數據的時(shí)候ADO.NET會(huì )利用XML制作數據的一份幅本
ADO.NET的數據庫連接也只有在這段時(shí)間需要在線(xiàn)。
  
由于A(yíng)DO使用COM技術(shù),這就要求所使用的數據類(lèi)型必須符合COM規范
而ADO.NET基于XML格式,數據類(lèi)型更為豐富并且不需要再做COM編排導致的數據類(lèi)型轉換,從而提高了整體性能。
ADO.NET為.NET構架提供了優(yōu)化的數據訪(fǎng)問(wèn)模型,和基于COM的ADO是完全兩樣的數據訪(fǎng)問(wèn)方式。

ado.net與ado存在著(zhù)比較大的差異:
1.a(chǎn)do.net遵循更通用的原則,不那么專(zhuān)門(mén)面向數據庫。
ado.net集合了所有允許數據處理的類(lèi)。這些類(lèi)表示具有典型數據庫功能(如索引,排序和視圖)的數據容器對象。
盡管ado.net是.net數據庫應用程序的權威解決方案
但從總體設計上看,它不像ado數據模型那樣以數據庫為中心,這是ado.net的一大特點(diǎn)。
2.目前,ado.net提供了兩種數據庫訪(fǎng)問(wèn)類(lèi)庫:一種用于sql server 7.0 或更高版本
另一種用于其他所有您可能已經(jīng)安裝的ole db提供程序。
在這兩種情況下,您分別使用不同的類(lèi),但遵循相似的命名規則。
除前綴,名稱(chēng)都是相同的。前一種情況前綴為sql,后一種情況則是oledb。
同時(shí),.net框架還提供了odbc .net的數據訪(fǎng)問(wèn)模式。
odbc .net data provider是 .net 框架的增強組件,它可以訪(fǎng)問(wèn)原始的 odbc 驅動(dòng)程序
就像 ole db .net data provider 可以訪(fǎng)問(wèn)原始的 ole db providers 一樣。
目前它僅在下列驅動(dòng)程序中測試過(guò):
microsoft sql odbc driver,microsoft odbc driver for oracle,microsoft jet odbc driver。
3.a(chǎn)do.net提供了兩個(gè)隊形來(lái)處理從數據源中抽取數據,它們是dataset和datareader對象。
前者是記錄在內存中的緩存,您可以從任何方向隨意訪(fǎng)問(wèn)和修改。
后者是高度優(yōu)化的對象,專(zhuān)為以?xún)H向前方式滾動(dòng)只讀記錄而設計。
4.a(chǎn)do.net統一了數據容器類(lèi)編程接口,無(wú)論您打算編寫(xiě)何種應用程序,windows窗體,web窗體還是web服務(wù)
都可以通過(guò)同一組類(lèi)來(lái)處理數據。
不管在后端的數據源數sql server數據庫,ole db,xml文件還是一個(gè)數組
您都可以通過(guò)相同的方法和屬性來(lái)滾動(dòng)和處理它們的內容。
5.在ado中,xml只不過(guò)是輸入和輸出格式。
然而在ado.net中,xml是一種數據格式,提供了操作,組織,共享和傳遞數據的手段。

ADO。NET相對于A(yíng)DO等主要有什么改進(jìn)?
1:ado.net不依賴(lài)于ole db提供程序,而是使用.net托管提供的程序,
2:不使用com
3:不在支持動(dòng)態(tài)游標和服務(wù)器端游
4:,可以斷開(kāi)connection而保留當前數據集可用
5:強類(lèi)型轉換
6:xml支持

[.NET(C#)]
new 關(guān)鍵字用法
(1)new  運算符  用于創(chuàng )建對象和調用構造函數。
(2)new  修飾符  用于向基類(lèi)成員隱藏繼承成員。
(3)new  約束  用于在泛型聲明中約束可能用作類(lèi)型參數的參數的類(lèi)型。
 指定泛型類(lèi)聲明中的任何類(lèi)型參數都必須有公共的無(wú)參數構造函數。

[.NET(C#)]
C#中,string str = null 與 string str ="",說(shuō)明區別。
string str =""初始化對象分配空間
而string str=null初始化對象

[.NET(C#)]
DataGrid的Datasouse可以連接什么數據源
DataTable DataView  DataSet  DataViewManager 任何實(shí)現IListSource接口的組件  任何實(shí)現IList接口的組件

[.NET(C#)]
概述反射和序列化
反射:公共語(yǔ)言運行庫加載器管理應用程序域。
 這種管理包括將每個(gè)程序集加載到相應的應用程序域以及控制每個(gè)程序集中類(lèi)型層次結構的內存布局。
 程序集包含模塊,而模塊包含類(lèi)型,類(lèi)型又包含成員。
 反射則提供了封裝程序集、模塊和類(lèi)型的對象。
 您可以使用反射動(dòng)態(tài)地創(chuàng )建類(lèi)型的實(shí)例,將類(lèi)型綁定到現有對象,或從現有對象中獲取類(lèi)型。
 然后,可以調用類(lèi)型的方法或訪(fǎng)問(wèn)其字段和屬性。

序列化:序列化是將對象狀態(tài)轉換為可保持或傳輸的格式的過(guò)程。
 與序列化相對的是反序列化,它將流轉換為對象。
 這兩個(gè)過(guò)程結合起來(lái),可以輕松地存儲和傳輸數據。

[.NET(C#)]
可訪(fǎng)問(wèn)性級別有哪幾種
 public 訪(fǎng)問(wèn)不受限制。
 protected 訪(fǎng)問(wèn)僅限于包含類(lèi)或從包含類(lèi)派生的類(lèi)型。
 internal 訪(fǎng)問(wèn)僅限于當前程序集。
 protected internal 訪(fǎng)問(wèn)僅限于從包含類(lèi)派生的當前程序集或類(lèi)型。
 private 訪(fǎng)問(wèn)僅限于包含類(lèi)型。

[.NET(C#)]
O/R Mapping 的原理:利用反射,配置將對象和數據庫表映射。

[.NET(C#)]
sealed 修飾符有什么特點(diǎn)?
sealed 修飾符表示密封,用于類(lèi)時(shí),表示該類(lèi)不能再被繼承
不能和 abstract 同時(shí)使用,因為這兩個(gè)修飾符在含義上互相排斥
用于方法和屬性時(shí),表示該方法或屬性不能再被繼承,必須和 override 關(guān)鍵字一起使用
因為使用 sealed 修飾符的方法或屬性肯定是基類(lèi)中相應的虛成員
通常用于實(shí)現第三方類(lèi)庫時(shí)不想被客戶(hù)端繼承,或用于沒(méi)有必要再繼承的類(lèi)以防止濫用繼承造成層次結構體系混亂
恰當的利用 sealed 修飾符也可以提高一定的運行效率,因為不用考慮繼承類(lèi)會(huì )重寫(xiě)該成員

[.NET(C#)]
詳述.NET里class和struct的異同
結構與類(lèi)共享幾乎所有相同的語(yǔ)法,但結構比類(lèi)受到的限制更多:
盡管結構的靜態(tài)字段可以初始化,結構實(shí)例字段聲明還是不能使用初始值設定項。
結構不能聲明默認構造函數(沒(méi)有參數的構造函數)或析構函數。
結構的副本由編譯器自動(dòng)創(chuàng )建和銷(xiāo)毀,因此不需要使用默認構造函數和析構函數。
實(shí)際上,編譯器通過(guò)為所有字段賦予默認值(參見(jiàn)默認值表)來(lái)實(shí)現默認構造函數。
結構不能從類(lèi)或其他結構繼承。
結構是值類(lèi)型 -- 如果從結構創(chuàng )建一個(gè)對象并將該對象賦給某個(gè)變量,變量則包含結構的全部值。
復制包含結構的變量時(shí),將復制所有數據,對新副本所做的任何修改都不會(huì )改變舊副本的數據。
由于結構不使用引用,因此結構沒(méi)有標識 -- 具有相同數據的兩個(gè)值類(lèi)型實(shí)例是無(wú)法區分的。
C# 中的所有值類(lèi)型本質(zhì)上都繼承自 ValueType,后者繼承自 Object。
編譯器可以在一個(gè)稱(chēng)為裝箱的過(guò)程中將值類(lèi)型轉換為引用類(lèi)型。

結構具有以下特點(diǎn):
結構是值類(lèi)型,而類(lèi)是引用類(lèi)型。
向方法傳遞結構時(shí),結構是通過(guò)傳值方式傳遞的,而不是作為引用傳遞的。
與類(lèi)不同,結構的實(shí)例化可以不使用 new 運算符。
結構可以聲明構造函數,但它們必須帶參數。
一個(gè)結構不能從另一個(gè)結構或類(lèi)繼承,而且不能作為一個(gè)類(lèi)的基。
所有結構都直接繼承自 System.ValueType,后者繼承自 System.Object。
結構可以實(shí)現接口。
在結構中初始化實(shí)例字段是錯誤的。

類(lèi)與結構的差別
1. 值類(lèi)型與引用類(lèi)型
結構是值類(lèi)型:值類(lèi)型在堆棧上分配地址,所有的基類(lèi)型都是結構類(lèi)型
例如:int 對應System.int32 結構,string 對應 system.string 結構 ,通過(guò)使用結構可以創(chuàng )建更多的值類(lèi)型
類(lèi)是引用類(lèi)型:引用類(lèi)型在堆上分配地址 堆棧的執行效率要比堆的執行效率高
可是堆棧的資源有限,不適合處理大的邏輯復雜的對象。
所以結構處理作為基類(lèi)型對待的小對象,而類(lèi)處理某個(gè)商業(yè)邏輯
因為結構是值類(lèi)型所以結構之間的賦值可以創(chuàng )建新的結構,而類(lèi)是引用類(lèi)型,類(lèi)之間的賦值只是復制引用 注:
1.雖然結構與類(lèi)的類(lèi)型不一樣,可是他們的基類(lèi)型都是對象(object),c#中所有類(lèi)型的基類(lèi)型都是object
2.雖然結構的初始化也使用了New 操作符可是結構對象依然分配在堆棧上而不是堆上
 如果不使用“新建”(new),那么在初始化所有字段之前,字段將保持未賦值狀態(tài),且對象不可用
2.繼承性
結構:不能從另外一個(gè)結構或者類(lèi)繼承,本身也不能被繼承
 雖然結構沒(méi)有明確的用sealed聲明,可是結構是隱式的sealed .
類(lèi):完全可擴展的,除非顯示的聲明sealed 否則類(lèi)可以繼承其他類(lèi)和接口,自身也能被繼承
注:雖然結構不能被繼承 可是結構能夠繼承接口,方法和類(lèi)繼承接口一樣
例如:結構實(shí)現接口
interface IImage
{
 void Paint();
}
struct Picture : IImage
{
 public void Paint()
 {
  // painting code goes here
 }
 private int x, y, z; // other struct members
}

3.內部結構:
結構:
沒(méi)有默認的構造函數,但是可以添加構造函數
沒(méi)有析構函數
沒(méi)有 abstract 和 sealed(因為不能繼承)
不能有protected 修飾符
可以不使用new 初始化
在結構中初始化實(shí)例字段是錯誤的
類(lèi):
有默認的構造函數
有析構函數
可以使用 abstract 和 sealed
有protected 修飾符
必須使用new 初始化

[.NET(C#)]
如何選擇結構還是類(lèi)
1. 堆棧的空間有限,對于大量的邏輯的對象,創(chuàng )建類(lèi)要比創(chuàng )建結構好一些
2. 結構表示如點(diǎn)、矩形和顏色這樣的輕量對象
 例如,如果聲明一個(gè)含有 1000 個(gè)點(diǎn)對象的數組,則將為引用每個(gè)對象分配附加的內存。
 在此情況下,結構的成本較低。
3. 在表現抽象和多級別的對象層次時(shí),類(lèi)是最好的選擇
4. 大多數情況下該類(lèi)型只是一些數據時(shí),結構時(shí)最佳的選擇

[.NET(C#)]
abstract class和interface有什么區別?
答:聲明方法的存在而不去實(shí)現它的類(lèi)被叫做抽像類(lèi)(abstract class)
它用于要創(chuàng )建一個(gè)體現某些基本行為的類(lèi),并為該類(lèi)聲明方法,但不能在該類(lèi)中實(shí)現該類(lèi)的情況。
不能創(chuàng )建abstract 類(lèi)的實(shí)例。
然而可以創(chuàng )建一個(gè)變量,其類(lèi)型是一個(gè)抽像類(lèi),并讓它指向具體子類(lèi)的一個(gè)實(shí)例。
不能有抽像構造函數或抽像靜態(tài)方法。
Abstract 類(lèi)的子類(lèi)為它們父類(lèi)中的所有抽像方法提供實(shí)現,否則它們也是抽像類(lèi)。
取而代之,在子類(lèi)中實(shí)現該方法。
知道其行為的其它類(lèi)可以在類(lèi)中實(shí)現這些方法。

接口(interface)是抽像類(lèi)的變體。
在接口中,所有方法都是抽像的。
多繼承性可通過(guò)實(shí)現這樣的接口而獲得。
接口中的所有方法都是抽像的,沒(méi)有一個(gè)有程序體。
接口只可以定義static final成員變量。
接口的實(shí)現與子類(lèi)相似,除了該實(shí)現類(lèi)不能從接口定義中繼承行為。

當類(lèi)實(shí)現特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。
然后,它可以在實(shí)現了該接口的類(lèi)的任何對像上調用接口的方法。
由于有抽像類(lèi),它允許使用接口名作為引用變量的類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效。
引用可以轉換到接口類(lèi)型或從接口類(lèi)型轉換,instanceof 運算符可以用來(lái)決定某對象的類(lèi)是否實(shí)現了接口。

接口可以繼承接口。
抽像類(lèi)可以實(shí)現(implements)接口
抽像類(lèi)是否可繼承實(shí)體類(lèi)(concrete class),但前提是實(shí)體類(lèi)必須有明確的構造函數。

[.NET(C#)]
什么叫應用程序域?什么是托管代碼?什么是強類(lèi)型系統?
什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?zhuān)?/font>

應用程序域:
應用程序域為安全性、可靠性、版本控制以及卸載程序集提供了隔離邊界。
應用程序域通常由運行庫宿主創(chuàng )建,運行庫宿主負責在運行應用程序之前引導公共語(yǔ)言運行庫。
應用程序域提供了一個(gè)更安全、用途更廣的處理單元,公共語(yǔ)言運行庫可使用該單元提供應用程序之間的隔離。
應用程序域可以理解為一種輕量級進(jìn)程。起到安全的作用。占用資源小。

托管代碼:
使用基于公共語(yǔ)言運行庫的語(yǔ)言編譯器開(kāi)發(fā)的代碼稱(chēng)為托管代碼;托管代碼具有許多優(yōu)點(diǎn),
例如:跨語(yǔ)言集成、跨語(yǔ)言異常處理、增強的安全性、版本控制和部署支持、簡(jiǎn)化的組件交互模型、調試和分析服務(wù)等。

裝箱和拆箱:
從值類(lèi)型接口轉換到引用類(lèi)型:裝箱。
從引用類(lèi)型轉換到值類(lèi)型:拆箱。
裝箱和拆箱使值類(lèi)型能夠被視為對象。
對值類(lèi)型裝箱將把該值類(lèi)型打包到 Object 引用類(lèi)型的一個(gè)實(shí)例中。
這使得值類(lèi)型可以存儲于垃圾回收堆中。
拆箱將從對象中提取值類(lèi)型。

重載:
每個(gè)類(lèi)型成員都有一個(gè)唯一的簽名。
方法簽名由方法名稱(chēng)和一個(gè)參數列表(方法的參數的順序和類(lèi)型)組成。
只要簽名不同,就可以在一種類(lèi)型內定義具有相同名稱(chēng)的多種方法。
當定義兩種或多種具有相同名稱(chēng)的方法時(shí),就稱(chēng)作重載。

CTS通用類(lèi)型系統 (common type system) :
一種確定公共語(yǔ)言運行庫如何定義、使用和管理類(lèi)型的規范。

CLR公共語(yǔ)言運行庫:
.NET Framework 提供了一個(gè)稱(chēng)為公共語(yǔ)言運行庫的運行時(shí)環(huán)境.
它運行代碼并提供使開(kāi)發(fā)過(guò)程更輕松的服務(wù)。

CLS公共語(yǔ)言規范:
要和其他對象完全交互,而不管這些對象是以何種語(yǔ)言實(shí)現的.
對象必須只向調用方公開(kāi)那些它們必須與之互用的所有語(yǔ)言的通用功能。
為此定義了公共語(yǔ)言規范 (CLS),它是許多應用程序所需的一套基本語(yǔ)言功能。

強類(lèi)型:
C# 是強類(lèi)型語(yǔ)言;因此每個(gè)變量和對象都必須具有聲明類(lèi)型。

[.NET(C#)]
值類(lèi)型和引用類(lèi)型的區別?
基于值類(lèi)型的變量直接包含值。
將一個(gè)值類(lèi)型變量賦給另一個(gè)值類(lèi)型變量時(shí),將復制包含的值。
這與引用類(lèi)型變量的賦值不同,引用類(lèi)型變量的賦值只復制對對象的引用,而不復制對象本身。

所有的值類(lèi)型均隱式派生自 System.ValueType。
與引用類(lèi)型不同,從值類(lèi)型不可能派生出新的類(lèi)型。但與引用類(lèi)型相同的是,結構也可以實(shí)現接口。
與引用類(lèi)型不同,值類(lèi)型不可能包含 null 值。然而,可空類(lèi)型功能允許將 null 賦給值類(lèi)型。
每種值類(lèi)型均有一個(gè)隱式的默認構造函數來(lái)初始化該類(lèi)型的默認值。
值類(lèi)型主要由兩類(lèi)組成:結構、枚舉
結構分為以下幾類(lèi):
Numeric(數值)類(lèi)型、整型、浮點(diǎn)型、decimal、bool、用戶(hù)定義的結構。
引用類(lèi)型的變量又稱(chēng)為對象,可存儲對實(shí)際數據的引用。
聲明引用類(lèi)型的關(guān)鍵字:class、interface、delegate、內置引用類(lèi)型: object、string

                     值類(lèi)型                    引用類(lèi)型
 
內存分配地點(diǎn)      分配在棧中                   分配在堆中
效率           效率高,不需要地址轉換          效率低,需要進(jìn)行地址轉換
內存回收        使用完后,立即回收              使用完后,不是立即回收,等待GC回收
賦值操作         進(jìn)行復制,創(chuàng )建一個(gè)同值新對象    只是對原有對象的引用
函數參數與返回值  是對象的復制                  是原有對象的引用,并不產(chǎn)生新的對象
類(lèi)型擴展   不易擴展    容易擴展,方便與類(lèi)型擴展

[.NET(C#)]
如何理解委托
委托類(lèi)似于 C++ 函數指針,但它是類(lèi)型安全的。
委托允許將方法作為參數進(jìn)行傳遞。
委托可用于定義回調方法。
委托可以鏈接在一起;例如,可以對一個(gè)事件調用多個(gè)方法。
方法不需要與委托簽名精確匹配。有關(guān)更多信息,請參見(jiàn)協(xié)變和逆變。
C# 2.0 版引入了匿名方法的概念,此類(lèi)方法允許將代碼塊作為參數傳遞,以代替單獨定義的方法。

[.NET(C#)]
C#中的接口和類(lèi)有什么異同。
異:
不能直接實(shí)例化接口。
接口不包含方法的實(shí)現。
接口、類(lèi)和結構可從多個(gè)接口繼承。
但是C# 只支持單繼承:類(lèi)只能從一個(gè)基類(lèi)繼承實(shí)現。
類(lèi)定義可在不同的源文件之間進(jìn)行拆分。

同:
接口、類(lèi)和結構可從多個(gè)接口繼承。
接口類(lèi)似于抽象基類(lèi):繼承接口的任何非抽象類(lèi)型都必須實(shí)現接口的所有成員。
接口可以包含事件、索引器、方法和屬性。
一個(gè)類(lèi)可以實(shí)現多個(gè)接口。

[.NET(C#)]
ASP.net的身份驗證方式有哪些
Windows 身份驗證提供程序
提供有關(guān)如何將 Windows 身份驗證與 Microsoft Internet 信息服務(wù) (IIS) 身份驗證
結合使用來(lái)確保 ASP.NET 應用程序安全的信息。

Forms 身份驗證提供程序
提供有關(guān)如何使用您自己的代碼創(chuàng )建應用程序特定的登錄窗體并執行身份驗證的信息。
使用 Forms 身份驗證的一種簡(jiǎn)便方法是使用 ASP.NET 成員資格和 ASP.NET 登錄控件
它們一起提供了一種只需少量或無(wú)需代碼就可以收集、驗證和管理用戶(hù)憑據的方法。

Passport 身份驗證提供程序
提供有關(guān)由 Microsoft 提供的集中身份驗證服務(wù)的信息,該服務(wù)為成員站點(diǎn)提供單一登錄和核心配置

[.NET(C#)]
活動(dòng)目錄的作用
Active Directory存儲了有關(guān)網(wǎng)絡(luò )對象的信息,并且讓管理員和用戶(hù)能夠輕松地查找和使用這些信息。
Active Directory使用了一種結構化的數據存儲方式,并以此作為基礎對目錄信息進(jìn)行合乎邏輯的分層組織。

[.NET(C#)]
解釋一下UDDI、WSDL的意義及其作用
UDDI:統一描述、發(fā)現和集成協(xié)議(UDDI, Universal Description, Discovery and Integration)
是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊中心的實(shí)現標準規范,
同時(shí)也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊以使得別的企業(yè)能夠發(fā)現的訪(fǎng)問(wèn)協(xié)議的實(shí)現標準。
UDDI 提供了一組基于標準的規范用于描述和發(fā)現服務(wù),還提供了一組基于因特網(wǎng)的實(shí)現。

WSDL:WSDL描述Web服務(wù)的公共接口。
這是一個(gè)基于XML的關(guān)于如何與Web服務(wù)通訊和使用的服務(wù)描述;
服務(wù) URL 和命名空間
網(wǎng)絡(luò )服務(wù)的類(lèi)型
(可能還包括 SOAP 的函數調用,正像我所說(shuō)過(guò)的,WSDL 足夠自如地去描述網(wǎng)絡(luò )服務(wù)的廣泛內容)
有效函數列表
每個(gè)函數的參數
每個(gè)參數的類(lèi)型
每個(gè)函數的返回值及其數據類(lèi)型

[.NET(C#)]
什么是SOAP,有哪些應用。
答:SOAP(Simple Object Access Protocol )簡(jiǎn)單對象訪(fǎng)問(wèn)協(xié)議
是在分散或分布式的環(huán)境中交換信息并執行遠程過(guò)程調用的協(xié)議,是一個(gè)基于XML的協(xié)議。
使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議)
可以允許任何類(lèi)型的對象或代碼,在任何平臺上,以任何一直語(yǔ)言相互通信。
這種相互通信采用的是XML格式的消息。

SOAP也被稱(chēng)作XMLP,為兩個(gè)程序交換信息提供了一種標準的工作機制。
在各類(lèi)機構之間通過(guò)電子方式相互協(xié)作的情況下完全有必要為此制定相應的標準。

SOAP描述了把消息捆綁為XML的工作方式。
它還說(shuō)明了發(fā)送消息的發(fā)送方、消息的內容和地址以及發(fā)送消息的時(shí)間。
SOAP是Web Service的基本通信協(xié)議。
SOAP規范還定義了怎樣用XML來(lái)描述程序數據(Program Data),怎樣執行RPC(Remote Procedure Call)。
大多數SOAP解決方案都支持RPC-style應用程序。
SOAP還支持 Document-style應用程序(SOAP消息只包含XML文本信息)。

最后SOAP規范還定義了HTTP消息是怎樣傳輸SOAP消息的。
MSMQ、SMTP、TCP/IP都可以做SOAP的傳輸協(xié)議。

SOAP 是一種輕量級協(xié)議,用于在分散型、分布式環(huán)境中交換結構化信息。
 SOAP 利用 XML 技術(shù)定義一種可擴展的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結構。
這種框架的設計思想是要獨立于任何一種特定的編程模型和其他特定實(shí)現的語(yǔ)義。

SOAP 定義了一種方法以便將 XML 消息從 A 點(diǎn)傳送到 B 點(diǎn)。
為此,它提供了一種基于 XML 且具有以下特性的消息處理框架:
1) 可擴展
2) 可通過(guò)多種底層網(wǎng)絡(luò )協(xié)議使用
3) 獨立于編程模型。

[.NET(C#)]
如何部署一個(gè)ASP.net頁(yè)面
VS 2005和VS 2003都有發(fā)布機制。
2003可以發(fā)布然后再復制部署。
VS2005基本上可以直接部署到對應位置。

[.NET(C#)]
GC是什么? 為什么要有GC?
答:GC是垃圾收集器。
程序員不用擔心內存管理,因為垃圾收集器會(huì )自動(dòng)進(jìn)行管理。
要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
不過(guò)在C#中不能直接實(shí)現Finalize方法,而是在析構函數中調用基類(lèi)的Finalize()方法

[.NET(C#)]
如何理解.net中的垃圾回收機制
.NET Framework 的垃圾回收器管理應用程序的內存分配和釋放。
每次您使用 new 運算符創(chuàng )建對象時(shí),運行庫都從托管堆為該對象分配內存。
只要托管堆中有地址空間可用,運行庫就會(huì )繼續為新對象分配空間。
但是,內存不是無(wú)限大的。最終,垃圾回收器必須執行回收以釋放一些內存。
垃圾回收器優(yōu)化引擎根據正在進(jìn)行的分配情況確定執行回收的最佳時(shí)間。
當垃圾回收器執行回收時(shí),它檢查托管堆中不再被應用程序使用的對象并執行必要的操作來(lái)回收它們占用的內存。

[.NET(C#)]
列舉ASP.NET 頁(yè)面之間傳遞值的幾種方式。 并說(shuō)出他們的優(yōu)缺點(diǎn)。
答. 1).使用QueryString, 如....?id=1; response. Redirect()....
    2).使用Session變量
    3).使用Server.Transfer

session(viewstate)  簡(jiǎn)單,但易丟失
application   全局
cookie    簡(jiǎn)單,但可能不支持,可能被偽造
input ttype="hidden"  簡(jiǎn)單,可能被偽造
url   參數 簡(jiǎn)單,顯示于地址欄,長(cháng)度有限數據庫 穩定,安全,但性能相對弱

[.NET(C#)]
C#中索引器的實(shí)現過(guò)程,可以用任何類(lèi)型進(jìn)行索引?(比如數字)

[.NET(C#)]
CTS、CLS、CLR分別作何解釋?zhuān)?br>CTS:通用語(yǔ)言系統。
CLS:通用語(yǔ)言規范。
CLR:公共語(yǔ)言運行庫。

[.NET(C#)]
.net中讀寫(xiě)數據庫需要用到那些類(lèi)?他們的作用?
DataSet: 數據存儲器。
DataCommand: 執行語(yǔ)句命令。
DataAdapter: 數據的集合,用語(yǔ)填充。

[.NET(C#)]
在.net中,配件的意思是:程序集。(中間語(yǔ)言,源數據,資源,裝配清單)

[.NET(C#)]
常用的調用WebService的方法有哪些?
答:1.使用WSDL.exe命令行工具。
    2.使用VS.NET中的Add Web Reference菜單選項

[.NET(C#)]
微軟.NET 構架下remoting和webservice兩項技術(shù)的理解以及實(shí)際中的應用。
.net Remoting 的工作原理是:服務(wù)器端向客戶(hù)端發(fā)送一個(gè)進(jìn)程編號,一個(gè)程序域編號,以確定對象的位置。
WS主要是可利用HTTP,穿透防火墻。而Remoting可以利用TCP/IP,二進(jìn)制傳送提高效率。
remoting是.net中用來(lái)跨越machine,process,appdomain進(jìn)行方法調用的技術(shù)
對于三成結構的程序,就可以使用remoting技術(shù)來(lái)構建.
它是分布應用的基礎技術(shù).相當于以前的DCOM
Web Service是一種構建應用程序的普通模型
并能在所有支持internet網(wǎng)通訊的操作系統上實(shí)施。
Web Service令基于組件的開(kāi)發(fā)和web的結合達到最佳

[.NET(C#)]
啟動(dòng)一個(gè)線(xiàn)程是用run()還是start()?
答:?jiǎn)?dòng)一個(gè)線(xiàn)程是調用start()方法,使線(xiàn)程所代表的虛擬處理機處于可運行狀態(tài)。
這意味著(zhù)它可以由JVM調度并執行。
這并不意味著(zhù)線(xiàn)程就會(huì )立即運行。
run()方法可以產(chǎn)生必須退出的標志來(lái)停止一個(gè)線(xiàn)程。

[.NET(C#)]
構造器Constructor是否可被override?
構造器Constructor不能被繼承,因此不能重寫(xiě)Overriding,但可以被重載Overloading。

[.NET(C#)]
abstract的method不可同時(shí)是static,不可同時(shí)是native,不可同時(shí)是synchronized

[.NET(C#)]
final, finally, finalize的區別。
final: 修飾符(關(guān)鍵字)如果一個(gè)類(lèi)被聲明為final,意味著(zhù)它不能再派生出新的子類(lèi),不能作為父類(lèi)被繼承。
 因此 一個(gè)類(lèi)不能既被聲明為 abstract的,又被聲明為final的。
 將變量或方法聲明為final,可以保證它們在使用中不被改變。
 被聲明為final的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。
 被聲明為 final的方法也同樣只能使用,不能重載
finally: 在異常處理時(shí)提供 finally 塊來(lái)執行任何清除操作。
  如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì )執行.
  然后控制就會(huì )進(jìn)入 finally 塊(如果有的話(huà))。
finalize: 方法名。
  Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對像從內存中清除出去之前做必要的清理工作。
  這個(gè)方法是由垃圾收集器在確定這個(gè)對象沒(méi)有被引用時(shí)對這個(gè)對象調用的。
  它是在 Object 類(lèi)中定義的 ,因此所有的類(lèi)都繼承了它。
  子類(lèi)覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。
  finalize() 方法是在垃圾收集器刪除對像之前對這個(gè)對象調用的。

[.NET(C#)]
進(jìn)程和線(xiàn)程的區別:
進(jìn)程是系統進(jìn)行資源分配和調度的單位;
線(xiàn)程是CPU調度和分派的單位.
一個(gè)進(jìn)程可以有多個(gè)線(xiàn)程,這些線(xiàn)程共享這個(gè)進(jìn)程的資源。

[.NET(C#)]
堆和棧的區別:
棧:由編譯器自動(dòng)分配、釋放。在函數體中定義的變量通常在棧上。
堆:一般由程序員分配釋放。用new、malloc等分配內存函數分配得到的就是在堆上。

[.NET(C#)]
成員變量和成員函數前加static的作用:
它們被稱(chēng)為常成員變量和常成員函數,又稱(chēng)為類(lèi)成員變量和類(lèi)成員函數。
分別用來(lái)反映類(lèi)的狀態(tài)。
比如類(lèi)成員變量可以用來(lái)統計類(lèi)實(shí)例的數量,類(lèi)成員函數負責這種統計的動(dòng)作。

[.NET(C#)]
在c#中using和new這兩個(gè)關(guān)鍵字有什么意義:
using  引入名稱(chēng)空間或者使用非托管資源
new  新建實(shí)例或者隱藏父類(lèi)方法

[.NET(C#)]
XML即可擴展標記語(yǔ)言。
eXtensible Markup Language.標記是指計算機所能理解的信息符號
通過(guò)此種標記,計算機之間可以處理包含各種信息的文章等。
如何定義這些標記,即可以選擇國際通用的標記語(yǔ)言
比如HTML,也可以使用象XML這樣由相關(guān)人士自由決定的標記語(yǔ)言,這就是語(yǔ)言的可擴展性。
XML是從SGML中簡(jiǎn)化修改出來(lái)的。它主要用到的有XML、XSL和XPath等。

[.NET(C#)]
什么是code-Behind技術(shù)。
答:ASPX,RESX和CS三個(gè)后綴的文件,這個(gè)就是代碼分離.
實(shí)現了HTML代碼和服務(wù)器代碼分離.方便代碼編寫(xiě)和整理.

[.NET(C#)]
XML 與 HTML 的主要區別
1. XML是區分大小寫(xiě)字母的,HTML不區分。
2. 在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結尾,
 那么你可以省略</p>或者</li>之類(lèi)的結束 標記。
 在XML中,絕對不能省略掉結束標記。
3. 在XML中,擁有單個(gè)標記而沒(méi)有匹配的結束標記的元素必須用一個(gè) / 字符作為結尾。
 這樣分析器就知道不用 查找結束標記了。
4. 在XML中,屬性值必須分裝在引號中。在HTML中,引號是可用可不用的。
5. 在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應的值。

[.NET(C#)]
.net的錯誤處理機制是什么?
答:.net錯誤處理機制采用try->catch->finally結構.
發(fā)生錯誤時(shí),層層上拋,直到找到匹配的Catch為止。

[.NET(C#)]
Static Nested Class 和 Inner Class的不同:
Static Nested Class是被聲明為靜態(tài)(static)的內部類(lèi),它可以不依賴(lài)于外部類(lèi)實(shí)例被實(shí)例化。
而通常的內部類(lèi)需要在外部類(lèi)實(shí)例化后才能實(shí)例化。

[.NET(C#)]
error和exception有什么區別:
error 表示恢復不是不可能但很困難的情況下的一種嚴重問(wèn)題。比如說(shuō)內存溢出。
不可能指望程序能處理這樣的情況。
exception 表示一種設計或實(shí)現問(wèn)題。
也就是說(shuō),它表示如果程序運行正常,從不會(huì )發(fā)生的情況。

[.NET(C#)]
UDP連接和TCP連接的異同:
前者只管傳,不管數據到不到,無(wú)須建立連接.后者保證傳輸的數據準確,須要連結.

[.NET(C#)]
C#中所有對象共同的基類(lèi)是:System.Object.

[.NET(C#)]
System.String 和System.StringBuilder有什么區別?
System.String是不可變的字符串。String類(lèi)是final類(lèi)故不可以繼承。
System.StringBuilder存放了一個(gè)可變的字符串,并提供一些對這個(gè)字符串修改的方法。

[.NET(C#)]
const和readonly有什么區別?
const  可以用于局部常量
readonly 實(shí)際是類(lèi)的initonly字段,顯然不能是局部的。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久