無為

          無為則可為,無為則至深!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks

          1. new 關鍵字用法

          (1)new 運算符

          用于創建對象和調用構造函數。

          (2)new 修飾符

          用于向基類成員隱藏繼承成員。

          (3)new 約束

          用于在泛型聲明中約束可能用作類型參數的參數的類型。

          2. 如何把一個 Array 復制到 ArrayList

          (1) 實現 1

          string[] s ={ "111", "22222" };

          ArrayList list = new ArrayList();

          list.AddRange(s);

          (2) 實現 2

          string[] s ={ "111", "22222" };

          ArrayList list = new ArrayList(s);

          3.DataGrid Datasouse 可以連接什么數據源

          l???????? DataTable

          l???????? DataView

          l???????? DataSet

          l???????? DataViewManager

          l???????? 任何實現 IListSource 接口的組件

          l???????? 任何實現 IList 接口的組件

          4. 概述反射和序列化

          反射

          公共語言運行庫加載器管理應用程序域。這種管理包括將每個程序集加載到相應的應用程序域以及控制每個程序集中類型層次結構的內存布局。

          程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型。然后,可以調用類型的方法或訪問其字段和屬性。

          序列化

          序列化是將對象狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為對象。這兩個過程結合起來,可以輕松地存儲和傳輸數據。

          5. 概述 O/R Mapping 的原理

          利用反射,配置將對象和數據庫表映射。

          6. 可訪問性級別有哪幾種

          l???????? public 訪問不受限制。

          l???????? protected 訪問僅限于包含類或從包含類派生的類型。

          l???????? internal 訪問僅限于當前程序集。

          l???????? protected internal 訪問僅限于從包含類派生的當前程序集或類型。

          l???????? private 訪問僅限于包含類型。

          7. sealed 修飾符有什么特點

          sealed 修飾符可以應用于類、實例方法和屬性。密封類不能被繼承。密封方法會重寫基類中的方法,但其本身不能在任何派生類中進一步重寫。當應用于方法或屬性時, sealed 修飾符必須始終與 override 一起使用。

          8. 列舉 ADO.NET 中的共享類和數據庫特定類

          共享類

          DataSet

          DataTable

          DataRow

          DataColumn

          DataRelation

          Constraint

          DataColumnMapping

          DataTableMapping

          特定類

          (x)Connection

          (x)Command

          (x)CommandBuilder

          (x)DataAdapter

          (x)DataReader

          (x)Parameter

          (x)Transaction

          9. 執行下面代碼后:

          String strTemp ="abcdefg 某某某 "

          Int i=System.Text.Encoding.Default.GetBytes(strTemp).Length;

          Int j=strTemp.Length;

          問:

          i=?

          j=?

          ?

          i=(14 ) j=(11 ) 中文兩個字節

          10.C# 中, string str = null string str ="" ,請盡量用文字說明區別。

          string str ="" 初始化對象分配空間

          string str=null 初始化對象

          11. 詳述 .NET class struct 的異同

          結構與類共享幾乎所有相同的語法,但結構比類受到的限制更多:

          盡管結構的靜態字段可以初始化,結構實例字段聲明還是不能使用初始值設定項。

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

          結構的副本由編譯器自動創建和銷毀,因此不需要使用默認構造函數和析構函數。實際上,編譯器通過為所有字段賦予默認值(參見默認值表)來實現默認構造函數。結構不能從類或其他結構繼承。

          結構是值類型 -- 如果從結構創建一個對象并將該對象賦給某個變量,變量則包含結構的全部值。復制包含結構的變量時,將復制所有數據,對新副本所做的任何修改都不會改變舊副本的數據。由于結構不使用引用,因此結構沒有標識 -- 具有相同數據的兩個值類型實例是無法區分的。 C# 中的所有值類型本質上都繼承自 ValueType ,后者繼承自 Object

          編譯器可以在一個稱為裝箱的過程中將值類型轉換為引用類型。

          結構具有以下特點:

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

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

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

          l???????? 結構可以聲明構造函數,但它們必須帶參數。

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

          l???????? 結構可以實現接口。

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

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

          應用程序域

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

          托管代碼

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

          裝箱和拆箱

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

          重載

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

          CTS 通用類型系統 (common type system)

          一種確定公共語言運行庫如何定義、使用和管理類型的規范。

          CLR 公共語言運行庫

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

          CLS 公共語言規范

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

          強類型

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

          13. 值類型和引用類型的區別?

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

          所有的值類型均隱式派生自 System.ValueType

          與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結構也可以實現接口。

          與引用類型不同,值類型不可能包含 null 值。然而,可空類型功能允許將 null 賦給值類型。

          每種值類型均有一個隱式的默認構造函數來初始化該類型的默認值。

          值類型主要由兩類組成:結構、枚舉

          結構分為以下幾類: Numeric (數值)類型、整型、浮點型、 decimal bool 、用戶定義的結構。

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

          14. 如何理解委托

          委托類似于 C++ 函數指針,但它是類型安全的。

          委托允許將方法作為參數進行傳遞。

          委托可用于定義回調方法。

          委托可以鏈接在一起;例如,可以對一個事件調用多個方法。

          方法不需要與委托簽名精確匹配。有關更多信息,請參見協變和逆變。

          C# 2.0 版引入了匿名方法的概念,此類方法允許將代碼塊作為參數傳遞,以代替單獨定義的方法。

          15.C# 中的接口和類有什么異同。

          異:

          不能直接實例化接口。

          接口不包含方法的實現。

          接口、類和結構可從多個接口繼承。但是 C# 只支持單繼承:類只能從一個基類繼承實現。

          類定義可在不同的源文件之間進行拆分。

          同:

          接口、類和結構可從多個接口繼承。

          接口類似于抽象基類:繼承接口的任何非抽象類型都必須實現接口的所有成員。

          接口可以包含事件、索引器、方法和屬性。

          一個類可以實現多個接口。

          16.ASP.net 的身份驗證方式有哪些

          Windows 身份驗證提供程序

          提供有關如何將 Windows 身份驗證與 Microsoft Internet 信息服務 (IIS) 身份驗證結合使用來確保 ASP.NET 應用程序安全的信息。

          Forms 身份驗證提供程序

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

          Passport 身份驗證提供程序

          提供有關由 Microsoft 提供的集中身份驗證服務的信息,該服務為成員站點提供單一登錄和核心配置

          17. 活動目錄的作用

          Active Directory 存儲了有關網絡對象的信息,并且讓管理員和用戶能夠輕松地查找和使用這些信息。 Active Directory 使用了一種結構化的數據存儲方式,并以此作為基礎對目錄信息進行合乎邏輯的分層組織。

          18. 解釋一下 UDDI WSDL 的意義及其作用

          UDDI

          統一描述、發現和集成協議 (UDDI, Universal Description, Discovery and Integration) 是一套基于 Web 的、分布式的、為 Web 服務提供的信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的 Web 服務注冊以使得別的企業能夠發現的訪問協議的實現標準。 UDDI 提供了一組基于標準的規范用于描述和發現服務,還提供了一組基于因特網的實現。

          WSDL

          WSDL 描述 Web 服務的公共接口。這是一個基于 XML 的關于如何與 Web 服務通訊和使用的服務描述;

          l???????? 服務 URL 和命名空間

          l???????? 網絡服務的類型(可能還包括 SOAP 的函數調用,正像我所說過的, WSDL 足夠自如地去描述網絡服務的廣泛內容)

          l???????? 有效函數列表

          l???????? 每個函數的參數

          l???????? 每個參數的類型

          l???????? 每個函數的返回值及其數據類型

          19. 什么是 SOAP

          SOAP Simple Object Access Protocol )簡單對象訪問協議是在分散或分布式的環境中交換信息并執行遠程過程調用的協議,是一個基于 XML 的協議。使用 SOAP ,不用考慮任何特定的傳輸協議(最常用的還是 HTTP 協議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一直語言相互通信。

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

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

          20. 如何部署一個 ASP.net 頁面

          VS 2005 VS 2003 都有發布機制。 2003 可以發布然后再復制部署。

          VS2005 基本上可以直接部署到對應位置。

          21. 如何理解 .net 中的垃圾回收機制

          .NET Framework 的垃圾回收器管理應用程序的內存分配和釋放。每次您使用 new 運算符創建對象時,運行庫都從托管堆為該對象分配內存。只要托管堆中有地址空間可用,運行庫就會繼續為新對象分配空間。但是,內存不是無限大的。最終,垃圾回收器必須執行回收以釋放一些內存。垃圾回收器優化引擎根據正在進行的分配情況確定執行回收的最佳時間。當垃圾回收器執行回收時,它檢查托管堆中不再被應用程序使用的對象并執行必要的操作來回收它們占用的內存。



          凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
          、轉載請注明來處和原文作者。非常感謝。

          posted on 2006-06-10 13:23 草兒 閱讀(263) 評論(0)  編輯  收藏 所屬分類: C#+XML
          主站蜘蛛池模板: 鹿泉市| 米脂县| 黔西| 郧西县| 石门县| 怀安县| 高阳县| 潍坊市| 射洪县| 比如县| 三河市| 来安县| 通许县| 卫辉市| 长沙县| 马关县| 泸西县| 安丘市| 通榆县| 广河县| 大渡口区| 枝江市| 巴林右旗| 盐源县| 沁源县| 庆云县| 微博| 克东县| 高唐县| 庆城县| 乌兰浩特市| 和顺县| 胶南市| 炉霍县| 华池县| 贵南县| 甘谷县| 乌鲁木齐市| 昌平区| 德令哈市| 循化|