小知識(一)
var:
初始化必須有賦值,var i;(錯的)。
var類型的對象運行過程中不允許再更改類型。(如:var i=1; i="hello!" 會出錯)
var只聲明局部變數。
dynamic:
初始化時可以不賦值。
dynamic類型的對象運行過程中可以給該類型。(如:dynamic i=1; i="hello!" 不出錯)
可聲明為全域變數。
VAR和DYNAMIC:一般當不確定變數類型時使用。
decimal:
高精度小數,範圍:1.0*10^-28到7.9*10^28,精度28位。一般用於表示money。float/double精度7/15位,用這float/double兩個類型表示貨幣時它會幫你"抹零"。
decimal預設值:0.0M
float預設值:0.0F
double預設值:0.0D
char:
char字元型賦值有3中
char c='d';
char c='\x0068'; 十六進位
char c='\u0068'; Unicode表示
char c=(char)68; 整形轉換char。
預設值:'\x0000'
八進位和十六進位:
C#中整形只用10進位表示,用8進位格式說明符"o"或"O"和16進位格式說明符是"x"或"X"編譯會出錯,(如:int i = o73;出錯)。
當需要輸出8進位或者16進位時用i.ToString("x")即可。
顯示2進位WriteLine(Convert.ToString(231,2));
顯示8進位WriteLine(Convert.ToString(231,8)) ;
顯示16進位WriteLine(Convert.ToString(231,16));
顯示16進位WriteLine(i.ToString("x"));顯示小寫。
顯示16進位WriteLine(i.ToString("X"));顯示大寫。
PadLeft和PadRight
輸出字串的左邊或者右邊填充空格實現靠右對齊或者靠左對齊。
ToString().PadLeft(8); 輸出字串長度為8,左邊補空格。
Parse:
parse解析,將數位字串表示形式等效轉換為數字。
如:int.parse(string); double.parse(string); decimal.parse(string)等等。
var和dycimal沒有parse方法。
注意:當16進位數位字串轉換為int時用Parse(string,System.Globalization.NumberStyle)方法,第二個枚舉參數選HexNumber即可。
那2進位字串和8進位字串怎麼解析成int呢?目前還不知道呢……哪位大師說一下???
Encoding:
字串和位元組數組之間的轉換。System.Text.Encoding類
byte[] ← GetBytes(string)方法,將字串轉換為位元組數組。
string ← GetString(byte[])方法,將位元組數群組轉換為字串。
Encoding屬性:
Encoding.Default 擷取系統的當前ANSI字碼頁的編碼
Encoding.UTF7擷取UTF7編碼格式
Encoding.UTF8擷取UTF8編碼格式
Encoding.ASCII擷取7位ASCII字元集的編碼
Encoding.Unicode擷取特定順序的Unicode格式的編碼
byte[] b=System.Text.Encoding.Unicode.GetBytes(s);
enum枚舉:
使用者自訂資料類型。enum枚舉的值從1開始,除了自訂。用逗號","隔開,可賦值整形值。
字串轉換特定枚舉:
object ← Enum.parse(type enumType,string value);
如:
color col=(color)Enum.parse(typeof(color),"white");
注意:如果字串跟枚舉不對應,會出錯。
enum e { }
struct結構:
使用者自訂資料類型,結構類型。結構可包含建構函式、常量、欄位、方法、屬性、索引器、運算子。
結構是實值型別,在堆棧(stack)上分配地址
結構和類都可以繼承介面。
結構不能被整合,類可以。
結構沒有解構函式,類有。
struct s { }
以上就是C#拾遺之小知識(一)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!