亚洲喷奶水中文字幕电影,日本aⅴ高清一区二区三区,欧美亚洲日本国产,欧美日韩亚洲中文字幕

<legend id="flx4p"><abbr id="flx4p"><thead id="flx4p"></thead></abbr></legend>

<mark id="flx4p"><thead id="flx4p"></thead></mark>

      C#面試題以及答案(二)

        21.詳述.NET里class和struct的異同

        答:結構與類共享幾乎所有相同的語法,但結構比類受到的限制更多:盡管結構的靜態(tài)字段可以初始化,結構實例字段聲明還是不能使用初始值設定項。

        結構不能聲明默認構造函數(shù)(沒有參數(shù)的構造函數(shù))或析構函數(shù)。

        結構的副本由編譯器自動創(chuàng)建和銷毀,因此不需要使用默認構造函數(shù)和析構函數(shù)。實際上,編譯器通過為所有字段賦予默認值(參見默認值表)來實現(xiàn)默認構造函數(shù)。

        結構不能從類或其他結構繼承。

        結構是值類型 -- 如果從結構創(chuàng)建一個對象并將該對象賦給某個變量,變量則包含結構的全部值。復制包含結構的變量時,將復制所有數(shù)據(jù),對新副本所做的任何修改都不會改變舊副本的數(shù)據(jù)。

        由于結構不使用引用,因此結構沒有標識 -- 具有相同數(shù)據(jù)的兩個值類型實例是無法區(qū)分的。C# 中的所有值類型本質上都繼承自ValueType,后者繼承自 Object。編譯器可以在一個稱為裝箱的過程中將值類型轉換為引用類型。

        結構具有以下特點:

        結構是值類型,而類是引用類型。

        向方法傳遞結構時,結構是通過傳值方式傳遞的,而不是作為引用傳遞的。

        與類不同,結構的實例化可以不使用 new 運算符。

        結構可以聲明構造函數(shù),但它們必須帶參數(shù)。

        一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。所有結構都直接繼承自 System.ValueType,后者繼承自 System.Object。

        結構可以實現(xiàn)接口。

        在結構中初始化實例字段是錯誤的。

        22.什么叫應用程序域?什么是托管代碼?什么是強類型系統(tǒng)?什么是裝箱和拆箱?什么是重載? CTS、CLS和CLR分別作何解釋?

        答:應用程序域:應用程序域為安全性、可靠性、版本控制以及卸載程序集提供了隔離邊界。應用程序域通常由運行庫宿主創(chuàng)建,運行庫宿主負責在運行應用程序之前引導公共語言運行庫。應用程序域提供了一個更安全、用途更廣的處理單元,公共語言運行庫可使用該單元提供應用程序之間的隔離。

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

        強類型:C# 是強類型語言;因此每個變量和對象都必須具有聲明類型。

        裝箱和拆箱:裝箱和拆箱使值類型能夠被視為對象。對值類型裝箱將把該值類型打包到 Object 引用類型的一個實例中。這使得值類型可以存儲于垃圾回收堆中。拆箱將從對象中提取值類型。

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

        CTS通用類型系統(tǒng) (common type system) :一種確定公共語言運行庫如何定義、使用和管理類型的規(guī)范。

        CLR公共語言運行庫:.NET Framework 提供了一個稱為公共語言運行庫的運行時環(huán)境,它運行代碼并提供使開發(fā)過程更輕松的服務。

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

        23.值類型和引用類型的區(qū)別?

        答:基于值類型的變量直接包含值。將一個值類型變量賦給另一個值類型變量時,將復制包含的值。這與引用類型變量的賦值不同,引用類型變量的賦值只復制對對象的引用,而不復制對象本身。

        所有的值類型均隱式派生自 System.ValueType。與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結構也可以實現(xiàn)接口。

        與引用類型不同,值類型不可能包含 null 值。然而,可空類型功能允許將null 賦給值類型。 每種值類型均有一個隱式的默認構造函數(shù)來初始化該類型的默認值。

        值類型主要由兩類組成:結構、枚舉; 結構分為以下幾類:Numeric(數(shù)值)類型、整型、浮點型、decimal、bool、用戶定義的結構。

        引用類型的變量又稱為對象,可存儲對實際數(shù)據(jù)的引用。聲明引用類型的關鍵字:class、interface、delegate、內置引用類型: object、string

        

      本文已影響6827
      上一篇:C#面試題以及答案(一) 下一篇:中科軟筆試題目和面試題目

      相關文章推薦

      |||||