1. 程式人生 > >C#語法知識總結雜記

C#語法知識總結雜記

1、、引用名稱空間:
關鍵字:using:
例:
/*
using System
*/

2、、定義一個新的名稱空間:
關鍵字:namespace:
定義格式:
/*
namespace 名稱空間 {}
*/

3、、宣告一個新的類:
關鍵字:class:
宣告格式:
/*
class 類名{}
*/

4、定義一個靜態的函式:
關鍵字:static(靜態);若不需要靜態功能,函式名前刪除static即可。
關鍵字:void(空返回);若不是空返回值則需宣告返回值型別,即將void替換為int或float或string等資料型別關鍵字。

形參:定義函式時,函式括號內寫的引數。
實參:實際呼叫時,函式括號內傳遞的引數。

5、識別符號:
A、組成:字母,數字,下劃線。
B、規則:
1.數字不能開頭;
2.嚴格區分大小寫;
3.不能和C#關鍵字,類庫名重名;
C、命名規範:
1.簡潔明瞭;
2.函式名&變數名:駝峰命名法,當一個變數名由多個單片語成時,首字母小寫,其後的其他單詞的首字母大寫。如:studentParentName。
3.類名:使用帕斯卡命名方式,單詞的每個首字母都大寫。如:VelocityResponseWriter。
4.常量名:用全大寫:MAX_PARAMETER_COUNT = 100。

D、使用規則:必須先定義,再賦值,再使用:
例:
/*
int studentNum; // 定義
studentNum = 45; // 賦值
Console.WriteLine(“學生個數:” + studentNum); // 使用
int roomNum = 6;//定義、賦值
Console.WriteLine(“教室個數:” + roomNum + “。”);//使用
*/

6、資料型別:
A、值型別:
整數:int
實數:float,double
布林:bool
字元:char
列舉:enum
結構體:struct
B、引用型別:
字串:string。賦值的時候需要加上 “” 雙引號。
例:// string str = “這裡面寫的就是字串”;

7、拓展:
1M = 1024KB 1KB = 1024B 1B(位元組) = 8b(位)
A、無符整數:byte(1B),ushor(2B)t,uint(4B),ulong(8B)。
B、有符整數:sbyte(1B),short(2B),int(4B),long(8B)。
C、用sizeof(decimal或int或long)測量其資料的位元組長度。
D、1位元組8位中為區分儲存的數的正負:首位0表示正數,1表示負數。

8、在方法或類名前面使用///,快速為其後方法或類名新增描述:
例:
/*
///
/// Main為一個主函式【這個是自己加的】
///
/// 【這個是自動生成的】
static void Main(string[] args)
{
};
*/

9、、控制檯的輸入輸出:
A、輸出一句話:
/Console.WriteLine();/
B、等待使用者輸入(按回車鍵表示輸入結束):
/* Console.ReadLine();*/

10、定義列舉:
定義關鍵字:enum。
定義格式:public enum 名字 {}。
例:
/*
public enum CityMgSkill
{
Chuai,Qiang,Da,Ma
}
public enum Code
{
Continue = 100,
ChangeAgreement,
Success = 200,
Builded,
Received,
ServeError = 500,
}
*/
11、定義結構體:
A、定義格式:public struct 名字 {}。
B、注意:
1、結構成員不能指定為 abstract、virtual 或 protected(預設是 private)。
2、結構可帶有方法、欄位、索引、屬性、運算子方法和事件。
3、結構可定義建構函式,但不能定義解構函式。但是,您不能為結構定義預設的建構函式。預設的建構函式是自動定義的,且不能被改變。
C、與類不同,結構不能繼承其他的結構或類。
1、結構不能作為其他結構或類的基礎結構。
2、結構可實現一個或多個介面。
3、結構成員不能指定為 abstract、virtual 或 protected。
4、當您使用 New 操作符建立一個結構物件時,會呼叫適當的建構函式來建立結構。與類不同,結構可以不使用 New 操作符即可被例項化。
5、如果不使用 New 操作符,只有在所有的欄位都被初始化之後,欄位才被賦值,物件才被使用。
D、結構體和類的區別:
1、類是引用型別,結構是值型別。
2、結構不支援繼承。
3、結構不能宣告預設的建構函式。

/*public struct Book
{
public float price;
public string name;
public int id;
}
public struct People
{
public string name;
public bool gender;
private int money;
public void SetMoney(int a)
{
money = a;
Console.WriteLine(money);
}

}

/
使用例項:
/
Book book1;
book1.price = 25.5f;
book1.name = “《水滸傳》”;
book1.id = 1810101143;
Console.WriteLine(“書名:” + book1.name + “,價格:” + book1.price + “,id:” + book1.id + “。”);

        People p = new People();
        p.name = "張三";
        p.gender = true;
        p.SetMoney(100);
        Console.WriteLine(p);

*/

12、常量和變數:
A、變數:值可以發生變化 int a = 5; float b = 4.4f;
B、常量:值不能發生變化 (就是一個固定的值)
例: //const float PI = 3.14f;

C、不同資料型別的轉換
1.隱式轉換:從小區間到大區間的轉換
// int a = 10;
// float b = a;
// float c = 10;
// double d = 1.5f;

2.顯式轉換:從大區間到小區間的轉換(可能會導致資料丟失)
/*
int a = 200;
sbyte b = (sbyte)a;
Console.WriteLine(b);
short c = (short)a;
Console.WriteLine©;

        float x = 45.943f;
        int y = (int)x;
        Console.WriteLine(y);
        */

3.值型別轉換為string
// int a = 1008611;
// string str1 = “” + a;
// Console.WriteLine(str1);
// 保留幾位小數
// string str2 = a.ToString(“F1”);
// 轉換成數字number(3位分割)
// string str2 = a.ToString(“n”);
// 加上 ¥ 字首(還有 n 的特性)
// string str2 = a.ToString(“c”);
// 科學計數法表示
// string str2 = a.ToString(“e”);
// 轉換為16進位制
// string str2 = a.ToString(“x”);
// 轉換為百分制
//string str2 = a.ToString(“p”);
// Console.WriteLine(str2);

4.string轉換為其他
// ①string 轉為 整數
// 能轉換的前提是本身就是一個數字
// string str = " 123nihao ";
// string str = “123”;
// int num = int.Parse(str);
// Console.WriteLine(num + 1);
// ②string 轉為 實數
// 注意:可以在 str 前後加空格,但不能加在中間
// 可以在前後中間加若干個0(注意在中後加0時越界問題)
// 只能出現一個小數點(轉換後只能是實數)
// string str = " 1.230 ";
// float num = float.Parse(str);
// Console.WriteLine(num);
// ③string 轉為 布林
string str = “trUE”;
bool b = bool.Parse(str);
Console.WriteLine(b);

13、控制檯操作:
A、清空控制檯。
//Console.Clear();
B、獲取你輸入鍵盤字元對應的ASCII碼值。
// int info = Console.Read();
C、獲取你點選鍵盤的資訊 。
//ConsoleKeyInfo(struct)
// ConsoleKeyInfo info = Console.ReadKey();
// Console.WriteLine(info.GetHashCode());
// Console.WriteLine(info.KeyChar);
D、控制檯輸入,預設是字串型別:
// string info = Console.ReadLine();

14、C#_Math函式總結:
Math.abs() 計算絕對值。
Math.acos() 計算反餘弦值。
Math.asin() 計算反正弦值。
Math.atan() 計算反正切值。
Math.atan2() 計算從x 座標軸到點的角度。
Math.ceil() 將數字向上舍入為最接近的整數。
Math.cos() 計算餘弦值。
Math.exp() 計算指數值。
Math.floor() 將數字向下舍入為最接近的整數。
Math.log() 計算自然對數。
Math.max() 返回兩個整數中較大的一個。
Math.min() 返回兩個整數中較小的一個。
Math.pow() 計算x 的y 次方。
Math.random() 返回一個0.0 與1.0 之間的偽隨機數。
Math.round(,) 四捨五入為最接近的整數。
Math.sin() 計算正弦值。
Math.sqrt() 計算平方根。
Math.tan() 計算正切值。
Math.E 尤拉(Euler) 常數,自然對數的底(大約為2.718)。
Math.LN2 2 的自然對數(大約為0.693)。
Math.LOG2E e 的以2 為底的對數(大約為1.442)。
Math.LN2 10 的自然對數(大約為2.302)。
Math.LOG10E e 的以10 為底的對數(大約為0.434)。
Math.PI 一個圓的周長與其直徑的比值(大約為3.14159)。
Math.SQRT1_2 1/2 的平方根的倒數(大約為0.707)。
Math.SQRT2 2 的平方根(大約為1.414)。

15、表示式:
解釋:是由數字、算符、數字分組符號(括號)、自由變數和約束變數等以能求得數值的有意義排列方法所得的組合。約束變數在表示式中已被指定數值,而自由變數則可以在表示式之外另行指定數值。

表示式其實就是一個式子:a+b ,true && false等。
表示式也是值型別。

16、運算子:

/:整除或除號;
%:取餘;

17、賦值:
=: 賦值號;
+=: a+=b; ==> a=a+b;
-= a-=b; ==> a=a-b;
=: a=b ==> a=a*b;
/=: a/=b ==> a=a/b;
%=: a%=b ==> a=a%b;

18、自增自減
++:自增,自身加一;++在前表示先讓該變數加一,再讓其參與運算。++在後表示。先讓該變數參與運算,再讓其加一(以參加下次運算)。

–:自減,自身減一;–在前表示先讓該變數減一,再讓其參與運算。–在後表示先讓該變數參與運算,再讓其減一。

19、比較運算子
<: 小於;

: 大於;
<=: 小於等於;
=: 大於等於;
==: 比較是否等於;
!=: 不等於;

20、三目運算子:
使用格式:比較表示式 ? 值1 : 值2;
例:string info = a > b ? “值1” : “值2”;(如果表示式成立則則輸出?後面的第一個值,若不成立則輸出第二個值。?後兩個待選的值可為數值型,也可為字串。)

21、格式化字串(同時通過大括號,佔位符實現一次多輸出。佔位符方法在console.write()方法內同樣適用。):
//string info = string.Format(“半徑為:{0}的面積為:{1:f2}。”,r,s,100);