【DotNet 技能系列】1. C#基礎知識筆記

來源:互聯網
上載者:User
變數與類型

C#是強型別的語言,因此每個變數必須宣告類型。在C# 新版本裡面也可以用Var來聲明。

 

從 Visual C# 3.0 開始,在方法範圍中聲明的變數可以具有隱式類型 var。 隱式類型的本地變數是強型別變數(就好像您已經聲明該類型一樣),但由編譯器確定類型。 下面的兩個 i 聲明在功能上是等效的:

var number = 10; // implicity typed   int number2 = 10; // explicity typed

 

變數的類型類別包括數實值型別和參考型別,數實值型別包括整數型別和非整數型別。

整型根據位元的不同,分為不同的具體類型,包含byte, short, int 和long等

非整型包括char,string等

 

變數聲明方式

變數必須先聲明,再賦值,最後使用。

變數的名稱一定要有含義,而不能i,j,k這樣!注意的是有含義,不是像C中的加Type類型做變數首碼。

1. 先聲明、再賦值。

int num; num =3; // 這種方式不規範,容易引發問題。要避免這種方法

2. 定義變數時候直接賦值.

int num = 3;

3. 一次聲明多個變數,變數之間用逗號分開.

int num1=20, num2=30, num3=40;  // 而不是int i,j = 20,30(python 方式)

變數聲明規則- 只能以字母,_和@開頭,因此不能以$開頭

C#變數區別大小寫!

char A = 'A';            char a = 'a';  // A, a 不同的變數

 

 

變數命名規範

1. Camel 命名方法(駝峰): 首個單詞的首字母小寫,其他單詞的首字母大寫

2. Pascal 命名方法:每個單詞的首字母都大寫

 

C#語言實用Camel方法命名變數或者參數,而命名空間和類使用Pascal命名方法.

補充:還有一種C或者C++常見的命名方法叫匈牙利命名方法(這種方法不推薦在C#以及其他程式設計語言中).

不過匈牙利命名方法中的應用型命名方法在廣泛應用!特別是對於有三個以上的單片語成的變數,這種方法很常用.

參考:

這才是真正的“匈牙利命名法”匈牙利命名法的衰落和建議 C# Int

C# Int中的整型的範圍一定要注意。

範圍:-2,147,483,648 到 2,147,483,647

大小:有符號的32位整數

http://msdn.microsoft.com/zh-cn/library/5kzh1b5w.aspx

 

比如一個例子,C# int能儲存手機號碼嗎?答案:不能,因為手機的長度超出了int的範圍

C# Char

在C#中Char儲存的是一個字元,要注意的是C# 是Unicode編碼,所以Char是可以儲存一個中文字元

class Program    {        static void Main(string[] args)        {            char firstname = '曾';            Console.WriteLine(firstname);            Console.ReadKey();        }    }

 

在給char類型的變數賦值的時候需要使用單引號’.

 

不過需要注意的是由於不同的系統對於Char類型的字元的實現是不一樣的,所以Char對應的長度具體是幾個位元組需要根據系統來確定.比如SQL Server中的char字元是只佔一個位元組的.

 

C#中的Char的定義對於那些瞭解過C語言的人,但是又不是很精通的來說要特別注意。特別是對知識死記的或者沒有運用過的人,孤立認為Char就佔一個位元組,而實際上這個對於不同過的語言定義是不一樣的,要特別注意。

 

C# String

字串定義:把多個字元串連起來.

 

String Length 為字串的長度也就是字元的個數.

 

string word = "我是IT男";Console.WriteLine(word.Length); // 5

 

Float, Double 和Decimal

 

float是32位的浮點數,double是64為的浮點數。decimal是128位元據類型,一般用來儲存金錢。這裡要注意。雖然decimal的位元多,但是範圍比double小,甚至比float小,但是精度最高。

 

另外需要注意的是C#中直接寫一個帶小數點的實數預設類型為double類型,必須使用m/M來定義decimal類型。f/d/m 分別用來聲明不同的浮點數類型

float salary = 7600.33;  // 這裡如果不加f,連編譯都通不過
decimal salary = 7600.33; // 這裡也編譯通不過,一定要加上m

 類型轉換

類型轉換包括隱式轉換和顯式強制轉換以及協助轉換函式、轉換類。

隱式轉換:

float number = 10;  // 只有在從低到高轉換才能進行

強制轉換:

int num = (int)3.14; // 不同精度的數值轉換可能丟失精度

協助轉換函式:

int.Parse("123”); // 如果解釋的不是數值或者超出範圍,編譯不會出現錯誤嗎,但是運行時就會拋出異常FormatException或者OverflowException

練習
string name = "某某IT男";          int age = 33;          char sex = '男';          string enSex = "men"; // 注意要用雙引號          short sexFlag = 1;  // 1 表示男, 2 表示女          Console.WriteLine(              "My name is {0}" +                 " age is {1}",                name,               age);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.