明年過完年就想跳槽換工作了,所以最近需要開始把C#的一些以前遺漏的知識、忽略掉的、不曾重視過以及模糊的知識給記錄下來,以免到時候面試的時候因為一些基礎性的東西而找不到工作。
以下是本文所要介紹的內容:
1、基礎數實值型別
2、字串類型
一、基礎數實值型別
在C#中數實值型別分為整數型和浮點型,其中需要注意一下幾點:
1、整數類型:short類型對應於系統中System.Int16,long類型對應於系統中的System.Int64類型,而一般的int類型則是指對著System.Int32類型,其中System.IntXX,代表的是數值的範圍,並不和CPU扯上關係,曾經好像聽過Int32是對應32位系統,64對應的是64位系統,我汗!⊙﹏⊙b汗。
2、浮點類型:浮點類型分為float和double,分別對應System.Single和System.Double,長度不同,由於其採用近似值的方式,所以會導致在進行類型轉換的過程中非常可能會出現精度不準的問題,從而引發系統異常,此時如果想確保精度問題,可採用decimal類型,其確保了精度問題,但由於其長度相比浮點類型較短,所以從浮點轉換到decimal時會出現溢出,並且其在計算時速度相比浮點要慢。
二、字串類型
1、字串類中有個我一直忽略的一個問題就是“@”,在C#中“@”符號是負責字串中原義字串的,比如下面的代碼:
string str=@"c:\windows\temp\aa.bat";
上面是一個標準的逸出字元串例子,如果不使用“@”則需要輸入一下代碼
string str="c:\\windows\\temp\\aa.bat";
依靠“\”來表示轉義,而加上“@”以後則變成了原義字串。
當然這個是我一直認為的“@”的作用,但是後來發現,原來“@”還有一個作用就是“逐字元”,一般來說如下代碼在編譯的時候是無法通過的:
string a="第一行 第二行 第三行";
因為在第一行後沒有加上雙引號來結束一行字元,但是通過“@”就可以解決這個問題,一旦在字串上加上“@”,字串則會變為逐字元,比如:像上面的代碼中加上了“@”則會將每行之間的空格都包含進入,如下代碼及:
string a=@"第一行 第二行 第三行";
如下:
2、在C#中有關char類型和操作符號還有個小技巧就是,如下代碼:
char a = 'a';char f = 'f';//輸出5Console.WriteLine(f-a);
操作符號“-”可以計算出2個字元之間的距離是多少,還比較好玩,有興趣的可以試試。