原创 CLR via C#:可空值類型

可空值類型:具有以下特性: 1.可空值類型名爲Nullable<T>或者T?,其中T被約束成struct。 2.Nullable<T>中存在hasValue和value兩個字段。並且在無參構造函數中hasValue爲false,v

原创 CLR via C#:定製特性

常見的定製特性:如下所示: 1.DllImport特性應用於函數時,告訴CLR該函數的實現位於指定DLL的非託管代碼中。 2.Serializable特性應用於類型時,告訴序列化格式化器(實現System.Runtime.Seri

原创 CLR via C#:數組

數組:是一種允許將多個數據項作爲集合來處理的機制。具有以下特性: 1.數組隱式派生自Array抽象類以及隱式實現IEnumerable,ICollection和IList接口。所以數組是在託管堆上分配的引用類型。 2.數組初始化器

原创 CLR via C#:成員基礎

類型中的各種成員:在一個類型中可以定義0個或者多個以下種類的成員: 1.常量:只能被類型訪問且不可以對常量值進行修改。 2.字段:靜態字段只能被類型訪問;實例字段只能被實例訪問;不可以對只讀的字段值進行修改;建議將字段設置成私有以

原创 CLR via C#:接口

接口:接口實際上是對一組函數簽名進行統一命名。具有以下特性: 1.C#中用interface關鍵字來定義接口,並且約定接口名字以I開頭。 2.接口中的函數默認爲public abstruct virtual instance函數,

原创 CLR via C#:事件

設計要公開的事件類型:流程如下所示: 1.定義EventArgs派生類來存儲附加數據。如果沒有附加數據時可以使用EventArgs.Empty來表示。參考代碼如下所示: public class MyEventArgs:Event

原创 CLR via C#:類型基礎(基元類型,引用類型和值類型)

基礎知識:如下所示: 1.所有的類型都是顯示或者隱式的繼承自System.Object。 2.CLR在查找類型時會先從當前文件中進行查找,找不到時就會從引用的程序集中進行查找,如果還是找不到就會從命令空間中進行查找。如果查找的類型

原创 CLR via C#:常量,字段和方法

常量:具有以下特性: 1.C#允許定義基元類型常量,也允許定義非基元類型常量(值必須爲null)。 2.常量被視爲靜態成員(不能用static修飾),而不是實例成員。 3.常量的指向和值都不允許被修改。 字段:具有以下特性: 1.

原创 CLR via C#:屬性

屬性:屬性可以看成是智能字段。具有以下特性: 1.屬性可以使用任何可訪問性修飾符。 2.屬性返回類型和參數類型不能爲void。 3.屬性不能作爲out或者ref參數傳遞。 4.C#提供get(元數據爲get_屬性名)訪問器函數用來

原创 CLR via C#:泛型

泛型:是CLR和編程語言提供的一種特殊機制,它支持另外一種形式的代碼複用(即算法複用)。具有以下特性: 1.泛型的優點具有源代碼保護(不用公開泛型源代碼),類型安全(必須指定類型實參),更清晰的代碼和更佳的性能(避免類型轉換以及裝

原创 CLR via C#:參數

命名參數:在調用函數時可以爲指定參數名設置參數值。如fun(string str)函數在調用時可以使用fun(str:“參數值”)的形式進行調用。具有以下特性: 1.在重命名參數名時也要將對應命名參數重命名一下。 2.命名參數必須

原创 Lua-Win編譯和安裝

特別聲明:本文參考自Windows下編譯安裝Lua5.3.5。 安裝GCC編譯器:流程如下: 1.Win系統下的GCC編譯器目前用的比較多的是MinGW,MinGW64,TDM-GCC。而MinGW是針對32位Win系統且更新慢;

原创 PyInstaller-Win安裝和使用

簡介:PyInstaller可以將Python源代碼發佈成Win/MacOS等系統中的可執行文件。對開發者而言隱藏了源碼實現,保護了知識產權。對使用者而言不用裝環境,傻瓜式的雙擊就可以運行程序。 PyInstaller常見命令:如

原创 編譯tolua庫文件

參考網址:如下所示: 1.https://www.jianshu.com/p/09b445300d40 2.https://www.jianshu.com/p/5a35602adef8 前期準備:如下所示: 1.到tolua_ru

原创 LuaRocks-Win安裝和使用

簡介:luarocks可以管理lua的插件和軟件包。它內部提供了大量的第三方lua軟件包供開發者使用,可以大大提高開發效率。 特別聲明:本文參考自Windows平臺Luarocks 3.0.2編譯安裝。 安裝luarocks:流程