C 零碎小知識

2022-03-08 22:55:16 字數 2993 閱讀 8727

1 @控制符:字首可以使引號裡的內容原樣輸出,而不理會裡面的轉義字元。

2 轉義字元「\」:為了靈活控制文字格式,c#中定義了大量轉義字元,這些字元都以反斜槓「\「開頭。

3 +運算子:可以將兩個字串連線起來。

4 列舉型別(enumeration type) : 它能把字串對映到數字上,既能增強可讀性,又可以參與運算。

5 結構體(structure):在c#中我們可以吧緊密聯絡變數定義成結構體。

6 隱式、顯式轉換。從小的向大的轉一般可以隱式轉換。顯式轉換,也稱強制型別轉換。

(type)(表示式)

使用system.convert類將乙個基本資料型別轉換為另乙個基本資料型別。

使用parse方法大部份預定義值型別都有這個靜態方法,用來將相應的文字轉化為相應的值型別。

裝箱和取消裝箱裝箱和取消裝箱使值型別能夠與 object 型別相互轉換。

裝箱轉換允許將「值型別」隱式轉換為「引用型別」。將「值型別」的值裝箱的操作包括:分配乙個物件例項並將「值型別」的值複製到該例項中。

8 ref(引用型引數)、out(輸出型引數)。ref(引用型引數)對方法的資料傳遞時通過實際值的記憶體位址來傳遞的,所以說對其的改變將影響到它實際的記憶體位址。out(輸出型引數),同ref一樣也不開闢新的記憶體位址,但是輸出型引數的乙個特點是在呼叫方法時不用先初始化,在返回前必須初始化。

9 遞迴(recursion):程式呼叫自身的程式設計技巧稱為遞迴。乙個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法。

10 析構函式、虛函式。析構函式:使用「~」符合(邏輯非運算子),析構函式也是特殊的類成員函式,它沒有返回型別,沒有引數,不能隨意呼叫,也沒有過載,只有在類物件的生命期結束的時候,由系統自動呼叫。  虛函式:如果父類的函式(方法)根本沒有必要或者無法實現,完全要依賴子類去實現的話,可以把此函式(方法)設為virturl。

11 const/readonly/static readonly。

12 base: base關鍵字用於用於從派生類中訪問基類的成員。

13 is,as運算子:檢查物件型別的相容性。

is轉換規則:

1. 檢查物件型別的相容性,並返回結果true(false);

2.不會丟擲異常;

3.如果物件為null,剛返回false。

as轉換規則:

1.檢查物件型別的相容性,並返回轉換結果,如果不相容則返回null;

2.不會丟擲異常;

3.如果結果判斷為空,則強制執行型別轉換將丟擲nullreferenceexception異常。

14 sizeof運算子:可以確定堆疊中值型別需要的長度(單位是位元組)。

15 typeof運算子:運算子用於獲得指定型別在system名字空間中定義的型別名字。

16 gettype()函式:獲取當前例項的型別.因此只有建立乙個例項之後才能夠被呼叫(初始化以後)。

17 可空型別:可空型別表示可被賦值為null值的值型別變數。 語法t?是system.nullable的簡寫,此處的t為值型別。

例子       

///

/// 操作日期

///

public nullableope_date

18 委託:委託使用的目標:把函式作為引數傳遞。

19 命名空間:.net framework使用命名空間來組織它的眾多類,是同類功能的類的集合。

20 泛型:泛型的作用可以將類和方法將乙個或多個型別的指定推遲到客戶端**宣告並例項化的時候。可以最大限度地重用**、包含型別的安   

全以及提高效能。 where(泛型型別約束)可以對泛型進行約束,

例:public static t xmldeserialize(xmldocument doc) where t : class

where t:class

這句話的意思是 是 是 就是  限定 t 必須是引用型別

21 資料庫連線字串:            rsqlconnection = new sqlconnection("data source=ip位址;user id=登入使用者;password=登入密碼;database=資料庫名稱");

rsqlconnection = new sqlconnection("data source=.;user id=sa;password=123456;database=db_oa");

22 物件不能從 dbnull 轉換為其他型別

。 解決辦法:資料庫裡面拿到的值是空值但是轉換成另一種型別的時候要求不能是空值,這時候你需要在拿到值的時候try/catch一下,或者直接設定該列不能為空,給他乙個預設值就行了。

23 maxlength 是 textbox 控制項所允許輸入的 「最大字元數」, 無視 漢字還是英文。

24 一般乙個漢字占用兩個位元組,根據資料看的字符集編碼有一定的變化,也有乙個漢字占用三個位元組(linux)的情況。通常漢字乙個字佔兩個位元組,英文乙個字母佔乙個位元組。gbk\gb2312編碼是2個位元組,但是unicode\utf-8編碼是3個位元組。

25 位元組是計算機處理的最小資料單位,字元是指我們能夠看到的各種文字。乙個半角的數字或英文本母占用乙個位元組,乙個漢字或全形的數字或英文本母占用2個位元組。

26位元組是計算機裡檔案大小的單位,乙個位元組8個字位,字元是對字母,漢字和其他符號的統稱。通常乙個字母是乙個位元組大小,乙個漢字是兩個位元組大小。它們是不同的概念,之間沒有換算關係。位元組與字元沒有必然聯絡。字元是文字或符號的統稱。

27 清空table資料 clear()方法

28 日期轉換格式。string.format("", userloginlogmodel.login_date) ,比如:2013-03-14 11:58:02 。注:userloginlogmodel.login_date 是 datetime型別的

30 sendkeys.send():將乙個或多個按鍵訊息傳送到活動視窗,就如同在鍵盤上進行輸入一樣。

31 **方法是一種在操作或活動完成時由委託自動呼叫的方法。

零碎小知識

1.將字串轉換成對應的列舉 列舉 enum.parse typeof 列舉 阿薩德飛 true 將字串轉換成對應的列舉,忽略大小寫。列舉 enum.parse typeof 列舉 阿薩德飛 不忽略大小寫 2.訪問控制符 3.在try catch finally中,當return遇到finally 1...

iOS零碎小知識

判斷螢幕解析度 bool retina cgsizeequaltosize cgsizemake 640,960 uiscreen mainscreen currentmode size 返回true說明當前解析度是cgsizemake 640,960 false則不是 遇到類似這樣的錯誤faile...

C C 零碎小知識

有關於main函式,使用者可以呼叫main函式。include using namespace std int main int argv,argc 對於以上的例子,實際上我們能夠直接呼叫main函式,輸出的結果其實為一直遞迴呼叫輸出1直到棧溢位。對於乙個陣列的陣列名和同型別的指標的問題,我們可以將...