1. 程式人生 > >C#知識點總結(靜態類,擴充套件方法,TryParse用法)

C#知識點總結(靜態類,擴充套件方法,TryParse用法)

打算把部落格搬到CSDN上面來了,以前一直部落格園寫,寫得到後面沒什麼激情了,不過呢,在CSDN上面可能沒太多的朋友,因為自己是搞.NET的,CSDN上面C和JAVA的多些,不過我還是打算再這裡開始我的.NET部落格之旅。畢竟,這裡是CSDN,就算上不了首頁,也有瀏覽量啊。

好了,開始吧,為了讓大家有一個直觀的認識,我打算把公司的框架圖發給大家。


1.GridBuilder 這個裡面的程式碼的作用就是實現一個封裝了的Gridview,就像EasyUI的DataGrid一樣。

2.Common 裡面包含了一些基礎類

3.Message 裡面的東西主要是一些資訊的傳輸類。

4. Domain 模型類

5.DataProvider 資料提供類

好了,閒話不多,我們的旅程先從Common 開始,我打算也從網上擷取一些東西,為了保證公司的原始碼 不外洩,我決定對程式碼都進行圖片化處理,希望大家理解。

1.ConversionExtensions 類


大家也許對靜態類還不太熟悉吧,嘿嘿,正好我來跟大家說一下:

 靜態類與非靜態類的重要區別在於靜態類不能例項化,也就是說,不能使用 new 關鍵字建立靜態類型別的變數。在宣告一個類時使用static關鍵字,具有兩個方面的意義:首先,它防止程式設計師寫程式碼來例項化該靜態類;其次,它防止在類的內部宣告任何例項欄位或方法。

    靜態類是自C# 2.0才引入的,C# 1.0不支援靜態類宣告

。程式設計師必須宣告一個私有構造器。私有構造器禁止開發者在類的範圍之外例項化類的例項。使用私有構造器的效果與使用靜態類的效果非常相似。兩者的區別在於,私有構造器方式仍然可以從類的內部對類進行例項化,而靜態類禁止從任何地方例項化類,其中包括從類自身內部。靜態類和使用私有構造器的另一個區別在於,在使用私有構造器的類中,是允許有例項成員的,而C# 2.0和更高版本的編譯器不允許靜態類有任何例項成員。使用靜態類的優點在於,編譯器能夠執行檢查以確保不致偶然地新增例項成員,編譯器將保證不會建立此類的例項。靜態類的另一個特徵在於,C#編譯器會自動把它標記為sealed。這個關鍵字將類指定為不可擴充套件;換言之,不能從它派生出其他類。

 上面的是靜態類的解釋,靜態類一般,我見過的,一般都是和擴充套件方法一起使用的,那麼什麼是擴充套件方法呢?先上一段已經有的程式碼。



就是上面一張圖的2個方法,這種以this 作為第一個引數的靜態方法(必須在靜態類裡面)的的方法,稱為擴充套件方法,下面是官方的解釋。

擴充套件方法使你能夠向現有型別“新增”方法,而無需建立新的派生型別、重新編譯或以其他方式修改原始型別。 擴充套件方法是一種特殊的靜態方法,但可以像擴充套件型別上的例項方法一樣進行呼叫。對於用 C# 和 Visual Basic 編寫的客戶端程式碼,呼叫擴充套件方法與呼叫在型別中實際定義的方法之間沒有明顯的差異。

還有一個知識點是TryParse,這裡必須和xx.Parse這種方式結合起來去想,下面是我從網上找的知識點:

int.Parse()是一種類容轉換;表示將數字內容的字串轉為int型別。
如果字串為空,則丟擲ArgumentNullException異常;
如果字串內容不是數字,則丟擲FormatException異常;
如果字串內容所表示數字超出int型別可表示的範圍,則丟擲OverflowException異常;

int.TryParse 與 int.Parse 又較為類似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。最後一個引數為輸出值,如果轉換失敗,輸出值為 0
吼吼,這篇文章寫完了,準備下一篇文章。

相關推薦

C#知識點總結靜態擴充套件方法TryParse用法

打算把部落格搬到CSDN上面來了,以前一直部落格園寫,寫得到後面沒什麼激情了,不過呢,在CSDN上面可能沒太多的朋友,因為自己是搞.NET的,CSDN上面C和JAVA的多些,不過我還是打算再這裡開始我的.NET部落格之旅。畢竟,這裡是CSDN,就算上不了首頁,也有瀏覽量啊。

c++知識點總結不時更新

【面向物件的概念】 世間萬物皆有屬性和方法,將這些封裝起來就是一個物件,面向物件程式設計思想總結起來其特點就是封裝,繼承,多型等,類的例項就是一個物件,類中資料成員,成員函式就是物件的屬性和操作,例項關係和繼承關係就是物件之間的靜態關係,而訊息傳遞就是物件之間

十、C#入門基礎10(密封和密封方法異常)

一、密封類 密封類可以用來限制擴充套件性,如果密封了某個類,則其他類不能從 該類繼承。 如果密封了某個成員,則派生類不能重寫該成員的實現。 預設情況下,不應該密封類和成員。 密封可以防止對庫的型別和成員進行自定義。 C#中使用密封類時,如果類滿足以下條件,則應將其密封: 1.靜

C++中內成員的定義宣告總結靜態和非靜態成員

近學習到C++ primer中關於類中靜態變數的部分,有一道課後題非常有意思。 題目是關於靜態變數在類中的初始化。 class example{ public: //static double rate=6.5; static const int size

C++學習總結十一——靜態函式成員函式的預設引數中包含引用和常量

一.類的靜態成員變數,以及靜態函式。 靜態成員變數: 1.靜態成員共享機制 2.靜態成員區域性屬於類,它不是物件的成員,位於靜態區。 3.靜態成員變數需要在外部進行初始化。 靜態函式: 1.靜態成員函式都在程式碼區,類的靜態函式都是共享的。 2.類的大小不包含程式碼區,建立

C#入門基礎語法知識點總結變量、運算符、型轉換

add rem 靜態變量 問題: orm 年齡 指定 com oval 一、C#中的變量 變量的命名: 1、變量名的組成要求 組成:英文字母(A~Z,a~z)、數字(0~9)、下劃線(_),除此之外不能包含有其他字符 開頭:只能以字母或下劃線開頭 禁用:C#關鍵字(int、

python3 速查參考- python基礎 8 -> 面向對象基礎:的創建與基礎使用屬性property、方法靜態方法、常用知識點概念封裝、繼承等等見下一章

fde ODB 面向 繼承 普通 實參 使用 後者 people 基礎概念 1.速查筆記: #-- 最普通的類 class C1(C2, C3): spam = 42 # 數據

C++學習總結二十六——RTTI型別檢查指標型別轉換

#include<iostream> using namespace std; //rtti實時型別檢測 //成員變數的覆蓋,靜態變數也會覆蓋。 // class A { public:

C# winform 程序開發知識點總結幹貨

onstop 剛才 cell iss 成功 one 身份驗證 服務 cep 1、數據庫連接及操作   在說數據庫操作之前,先說一下數據庫連接操作字符串的獲取   首先,點擊服務器資源管理器,接下來選中數據連接右鍵點擊添加連接,填入你要連接的服務器名稱,點擊單選框使用SQL

C# Task總結TaskActionFunc委託之間的聯絡

(個人學習貼,如有問題請大神指出) Task的引數有兩種,一種是Action,一種是Func。 啟動任務時, 會建立Task類的一個例項, 利用Action或Action委託(不帶引數或帶一個object引數) class Program { //宣告委託

[轉]在C#中呼叫C語言函式靜態呼叫Native DLLWindows & Microsoft.Net平臺

原文:https://blog.csdn.net/yapingxin/article/details/7288325   對於不太瞭解.Net的人,如果想要了解.Net,我必須給他介紹P/Invoke。P/Invoke是什麼呢?簡單地說,就是在.Net中呼叫原生代碼(Native code)的一

c++學習總結——與物件

一、心得感悟     c語言的課程學習後,開始c++的學習,首先就是學習類。在學習類時,類的使用與c語言有著極大的差別,一開始學習十分別扭。c語言的學習直接定義幾個形參、函式就可以寫程式了;而到了c++學習,關於類,首先必須定義類。具有相同性質和功能的東西構成的集合,通常歸成一

作業系統知識點總結十六磁碟的結構磁碟排程演算法

(一)磁碟結構 磁碟(Disk)是由表面塗有磁性物質的金屬或塑料構成的圓形碟片,通過一個稱為磁頭 的導體線圈從磁碟中存取資料。在讀/寫操作期間,磁頭固定,磁碟在下面高速旋轉。如圖 4-23所示,磁碟的盤面上的資料儲存在一組同心圓中,稱為磁軌。每個磁軌與磁頭一樣寬, 一個盤面有上千個磁軌。磁軌

作業系統知識點總結十五檔案層次結構目錄實現和檔案實現

(一)檔案層次結構 現代作業系統有多種檔案系統型別(如FAT32、NTFS、 ext2、ext3、ext4等),因此檔案系統的層次結構也不盡相同。圖4-11是一種合理的層次結構。   圖4-11檔案系統層次結構 1) 使用者呼叫介面 檔案系統為使用者提供與檔案及目錄有

作業系統最全知識點總結找工作考研必備

作為非科班出身的計算機愛好者,拜讀了作業系統書,刷了王道考研作業系統,收益頗豐,現將知識點總結如下,供找工作、考研的小夥伴們拿來作為作業系統複習提綱。 程序 記憶體 檔案 IO Xmind內容:http://pan.baidu.com/s/1i38bvzJ 密碼:b

C++面試總結

1.struct和class的區別 C++中的struct對C中的struct進行了擴充,它已經不再是一個包含不同資料型別的資料結構了。 struct與class 的區別是預設的訪問控制。 預設的繼承訪問許可權,struct是public的,class是private的。  &

計算機網路知識點總結第六版謝希仁

計算機網路知識點總結   1、三網:現如今最重要的三種網路  電信網路(電話網)   有線電視網路(電視網)   計算機網路(發展最快,資訊時代的核心技術,連通性,共享)1.1、 計算機網路的定義:是指將地理位置不同的具有獨立功能的多臺計算機及其外部裝置,通過通訊線路連線起來,在網路作業系統,網

C/C++面試知識點總結

目錄: 一、基礎知識     1.C/C++     2.STL     6.資料庫 一、基礎知識 1.C/C++ (1).struct大小的確定 由於記憶體對齊的原則,在32位機器上,記憶體是4位元組對齊,也就是說,不

Androidjava知識點總結

1、umeng分享通過QQ跟QQ空間分享成功或者取消分享沒有回撥問題 是因為在你的Activity中你自己處理了onActivityResult,而沒有呼叫super.onActivityResult() 2、Android 讓應用安裝以後自動獲取所需的許可

C#】知識點總結

一、概念:.net與c# . net/dotnet:一般指 .Net  Framework框架,一種平臺,一種技術。 C#(sharp):一種程式語言,可以開發基於.net平臺的應用。 Java是一種技術、一種程式語言。   二、.net能幹什麼(必須掌握)