Time of Update: 2018-12-05
前言 在上一文中我們講了如何把對象序列化為XML文檔,今天在這裡我們講一下如何把一個複雜物件序列化為XML文檔。我們之前說過在建立一個實體類時,只要在該類的屬性上加上自訂屬性,XMLSerializer就可以讀取這些屬性,就可以將它們映射成XML元素和屬性了。我們這裡同樣要用到這些原則 閱讀目錄 一:思路 二:實現步驟 三:運行效果 一:思路 我們先看一下下面這張圖,這張圖是一家物流公司的介面文檔,我們來看看它們這個XML文檔是怎麼序列化出來的,首先我們分析這張圖根節點是<
Time of Update: 2018-12-05
擴充方法 擴充方法是你能夠向現有類型和自訂類型添加方法,而無需建立新的衍生類別型或者以其他方式修改原始類型 擴充方法是一個特殊的靜態方法,它定義在一個靜態類中,但是可以在其他類型(我們要擴充的那個類)的對象上像調用執行個體方法那樣調用,因此通過擴充方法可以在不修改一個類的前提下對一個類進行功能上的補充 建立擴充方法 擴充方法和一般靜態方法定義類似,惟一的區別是在第一個參數的前面加上this關鍵字,同時第一個參數的類型也決定了擴充方法可以擴充的類型 格式 public
Time of Update: 2018-12-05
閱讀目錄 一:前言 二:實現步驟 三:運行效果 前言 XML文檔驗證是指表示這個XML文檔是否符合規則,是否是個正確的XML文檔,我們這裡講使用XmlValidatingReader類對XML文檔驗證,該類通過實現W3C建議所定義的有效性約束DTD,資料簡化XDR,XML架構定義語言XSD驗證服務。如果驗證通過了證明這個XML文檔是有效,否則是無效的。 XmlValidatingReader類實現XmlReader類,並以只進的方式對XML流進行驗證。 先看下面這張XML架構圖
Time of Update: 2018-12-05
閱讀目錄 一:自動屬性 二:建立自動屬性 三:執行個體 一:自動屬性 . 當屬性訪問器中不需要其他邏輯時,自動實作屬性可時屬性的聲明變得更加簡潔。 二:建立自動屬性 . 一旦在類中聲明了自動屬性,那麼編譯器將建立一個私人的匿名後備欄位,但是這個私人欄位只能通過屬性的get和set訪問器進行訪問。 . 自動屬性必須同時聲明get和set訪問器,假如要建立唯讀自動屬性,必須在set訪問器前加上privvate關鍵字 三:執行個體 1 using System; 2
Time of Update: 2018-12-05
欄位 欄位是儲存類要滿足其設計所需要的資料,欄位是與類相關的變數 比如以前講的Cat類中的private string
Time of Update: 2018-12-05
閱讀目錄 一:前言 二:實現步驟 三:運行效果 一:前言 之前我在一家電子商務公司做介面對接工作,同步快遞公司給我們網站的訂單資料,在這裡我先給出快遞公司給我的介面文檔(見),我當時的做法是通過XmlDocument以及XmlElement,XmlNodeList等類去解析這個文檔的,然後找到我要的資料更新至我們的資料庫的,其實在這裡有個更簡單的做法,就是還原序列化,把XML文檔還原序列化為對象。 二:實現步驟 1:XML檔案編寫 我們以學生科目為例 1.1
Time of Update: 2018-12-05
閱讀目錄 一:分布類 二:執行個體 一:分布類 . 為了將在某種意義上講比其他細節更重要的代碼分離出來,可以將一個類的實現劃分到多個C#檔案中,這就是分布類,比如:有個Pesoon類的源檔案叫 Pesoon.cs,有時候為了區分不同開發人員的維護範圍,避免定義在同一個檔案中造成互相干擾,C#通過分布類的做法,將一個類拆分為多個檔案 partial class 類名稱 { //類成員 } . 如果使用這種方式定義類,那麼要遵循以下原則
Time of Update: 2018-12-05
解構函式 解構函式是在類的破壞時自動執行的操作,解構函式在片段收集時會自動調用,程式員無法控制何時調用解構函式,因為這是由記憶體回收行程決定的 記憶體回收行程 與運行時不進行記憶體回收的開發語言相比,C#無需太多的記憶體管理,這是因為.NETFramework記憶體回收行程會隱式的管理對象的分配和釋放,記憶體回收行程檢查是否存在應用程式不在使用的對象,如果記憶體回收行程認為某個對象符合析構,則調用解構函式,並回收此對象佔用的記憶體,應用程式退出時也會調用解構函式 為什麼使用解構函式?
Time of Update: 2018-12-05
閱讀目錄 一:前言 二:Unmanaged 程式碼 一:前言 在講Unmanaged 程式碼這個概念的時候,我們先提幾個涉及到的概念 . 我們“在解釋執行和編譯執行的區別?” 一文中講到機器碼的概念,機器碼是指機器語言(machine language)是一種指令集的體系,這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的 .
Time of Update: 2018-12-05
定義類 在C#中使用class關鍵字,一個名稱,一對大括弧來定義一個新類,類的資料成員和方法位於類的主體內(一對大括弧之間) 類的文法格式 class MyClass { //類的主體 } 類修飾符 在定義類的時候可以在類的前面加上存取修飾詞,類的修飾符用於控制被訪問的範圍,預設情況下,類的修飾符為internal 我們可以看到我們在類前面加了private,protected ,protected internal
Time of Update: 2018-12-05
對象初始化器 對象初始化器,就是簡化代碼,讓本來幾行寫完的代碼,一行就寫完了 使用物件初始設定式,可以在建立對象時向對象的任何可訪問的欄位或屬性分配值,而無須顯示調用建構函式,其實對象初始化器最大的作用就是減少代碼的書寫量,把原本一些人做的事情交給了架構 舉例 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace
Time of Update: 2018-12-05
readonly關鍵字 表示唯讀意思,與const不同,readonly關鍵字只能用於欄位,不能用於局部變數,也就是說要使用readonly修飾一個欄位或者變數的時候,必須將它聲明在類中或者全域變數中,它表示欄位值只能在構造器中更改或者在聲明時指定 聲明方式 class Employee { public readonly string _name; //唯讀欄位值在聲明時指定 public readonly int _age =
Time of Update: 2018-12-05
閱讀目錄 一:Managed 程式碼 一:Managed 程式碼 . Managed 程式碼就是基於.NET中繼資料格式的代碼,運行於.NET平台之上,所有的與作業系統的交換由.NET平台來完成,就像是把這些功能委託給.NET,所以稱之為Managed 程式碼 . 由公用語言運行庫環境執行的代碼,而不是直接由作業系統執行的代碼,Managed
Time of Update: 2018-12-05
前言 .NET的Framework的XML類提供了一個XML分析器對象XmlDocument,它是執行大多數XML操作的核心對象,在操作XML文檔時,首先要定義一個XmlDocument對象,再將XML文檔載入記憶體,最後對XML文檔進行讀寫操作 閱讀目錄 1:XML檔案編寫 2:代碼檔案編寫 執行個體 如何擷取我們想要的名稱,性別以及年齡呢? 實現步驟 1:XML檔案編寫 XMLFile.xml <?xml version="1.0" encoding="utf-
Time of Update: 2018-12-05
閱讀目錄 一:.NET Framework 二:公用語言運行庫(Common Language Runtime CLR) 三:類庫(Class Library) 一:.NET Framework NET Framework簡稱.NET架構,該架構是微軟公司推出的物件導向的軟體開發與運行平台,.NET Framework具有兩個組件,公用語言運行庫(Common Language Runtime CLR)和.NET Framework類庫(Class Library) 二:
Time of Update: 2018-12-05
方法 在C#中通過建立函數實現方法,方法是一個執行可以由對象和類完成計算或者行為的成員,方法通過指定存取層級,傳回值,方法名稱,方法參數,在類或者結構中聲明的,這些部分統稱為方法的“簽名”,存取修飾詞預設為private 方法格式 如果為方法傳遞參數,必須聲明資料類型,如果方法有傳回值,return必須與傳回值一起使用以指明出口點 存取修飾詞 傳回值類型 方法名稱 方法參數 [modifiers] return_type MethodName([parameters]) {
Time of Update: 2018-12-05
定義結構 結構與類相似,主要區別在於,類是儲存在堆上的參考型別,而結構是儲存在堆棧上的實值型別,以及訪問方式和一些特徵(結構不支援繼承)。 在C#中使用struct關鍵字,一個名稱,一對大括弧來定義一個結構,也是使用new關鍵字聲明執行個體。 結構的文法格式 struct MyStruct { //結構主體 } 執行個體 using System; using System.Collections.Generic; using
Time of Update: 2018-12-05
前言 XmlReader類提供了對XML文檔內容快速的,只向前的訪問,但不適合對文檔內容和結構進行修改,XmlReader從XML文檔的頂部開始讀取資料,每次讀取一個節點 閱讀目錄 一:讀取XML文檔的步驟
Time of Update: 2018-12-05
類的資料結構 類是一種包括資料成員,函數成員,巢狀型別進行封裝的資料結構 類包含的資料成員 建構函式,解構函式,常數,欄位,屬性,方法,事件,委託,類,結構,介面,索引器 資料成員可以是靜態成員,即與整個類相關,也可以是執行個體成員,即與對象相關 欄位是與類相關的變數,與聲明變數的方式相同,欄位在類中聲明,變數則在主函數和方法中聲明 執行個體 using System; using System.Collections.Generic; using System.Linq;
Time of Update: 2018-12-05
ref參數 不僅可以通過值為方法傳遞參數,還可以通過引用為方法傳遞參數,若通過引用為方法傳遞參數,需要使用ref關鍵字 如果把一個參數傳遞給方法,且這個方法的輸入參數前帶有ref關鍵字,那麼這個方法對參數所作的任何改變都會影響原來對象的值 注意 1:通過ref傳遞的引用參數,在函數成員調用之前,必須已賦值,如果沒有明確賦值會報錯 執行個體 using System; using System.Collections.Generic; using