C#拾遺之小知識(一)

來源:互聯網
上載者:User
小知識(一)

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)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.