標籤:
一、常量:
文法:
const 類型 常量名=變數名
在定義時賦值,在其他地方不允許賦值
二、枚舉:
讓我們定義一種類型並且在定義這種類型時,我們要指定這個類型的所有值
文法:
enum(自己起的類型名稱){值1,值2,、、、、值n}
例如:定義一個叫Gender的枚舉類型,它的值只有兩個,男和女
enum Gender
{
男,女
}
枚舉的定義一般和類定義在同一個層級,這樣,在同一個命名空間下的所有的類就都可以使用這個枚舉了(方法中/類中也可以)
枚舉的作用:
(1).限制使用者不能隨意賦值,只能在定義枚舉時列舉的值中選擇
(2). 不需要死記每一個值是什麼,只需要選擇相應的值
注意:定義枚舉時,值不能是int類型
枚舉類型的變數都可以強制轉換成一個int類型
枚舉的值在定義時有一個預設編號,編號從0開始
如果把一個字串轉換成枚舉類型:
公式: (自己定義的枚舉類型)(Enum.Parse(typeof(自己定義的枚舉類型),"待轉換的字串")
典型的枚舉類型: Message.Show的參數
三、結構:
結構也是一種類型,也可以包含變數和方法
文法:
存取修飾詞 struct 結構名
{
定義結構成員
}
定義好一個結構後,就可以直接聲明相應的變數了,聲明好變數後,通過變數名.成員名來訪問成員
四、數組:
可以幫我們一次聲明多個同類型的變數,這些變數在記憶體中是連續儲存的
文法:
數群組類型[] 數組名 =new 數群組類型[數組長度]
例如:int[] score=new int[5]
如何訪問數組:通過下標(索引)來訪問數組
int數組一旦聲明,裡面的每一個元素被初始化成0.
通過 數組名.Length 可以獲得數組的長度
console.Clear() : 清屏
五、冒泡排序:
讓數組中的元素兩兩比較(第i個和第i+1個比較),經過i-1次兩兩比較,數組中的元素能按照我們預期的規律排序;要從大到小排序,我們進行兩兩比較的時候用<,要從小到大排序,我們進行兩兩比較的時候用>
公式:
for (int i=0;i<numbers.Length-1;i++) //number為數組名
{
for (int j=0;j<number.length-1;j++)
{
if (條件)
{
交換
}
}
}
六、方法:
功能:用來複用代碼的,當我們在一個程式中反覆寫同樣的代碼,那一般情況下,我們可以把需要重複寫的代碼定義在一個方法中,用的時候只需要調用就行了
定義方法的文法:
[存取修飾詞] [static] 傳回值類型 方法名([參數])
{
方法體
}
注意:
(1).一般情況下,方法一般要定義在類中
(2).如果方法沒有傳回值,則傳回值類型寫void
(3).如果方法沒有參數,括弧()不能省
命名規則:
方法名開頭要大寫,參數名要大寫,參數名、變數名要有意義
方法的調用:
對於靜態方法(由static修飾的)則使用類名.方法名;如果在同一個類中調用本類中的方法,可以唯寫方法名();
一個變數一旦定義在方法外、類的裡面,就叫做類的欄位,這個變數就可以被本類的所有方法所訪問,但是要注意,靜態方法不能訪問靜態欄位
七、變數的範圍:
在方法中定義的變數稱為局部變數,其範圍是從定義開始,到其所在的大括弧結束為止
八、傳回值:
文法:
return 值;
注意:
一個方法只能有一個傳回值
一旦一個方法有傳回值,那麼在這個方法中,就必須通過return語句返回一個值,並且這個值要與傳回值類型相同
九、重載:
一般在同一個類中,方法名相同,並且方法的參數的個數不同或者對應位置上的類型不同,才能構成方法的重載
例如:
public double static Shu(int a,double b)和 public double static Shu(double a,int b)
或者
public double static Shu(int a,int b,int c)和 public double static Shu(int a,int b)
注意:
方法的重載和傳回值無關
十、方法的out參數和ref參數
通過參數來返值:
static void main(string[] args) //調用者
{
int number;
int result=Test(out number);
Console.WriteLine("number={0},result={1}",number,result);
}
static int Test(out int a) //被調用者
{
a=10;
a=a+1;
return 200;
}
如上代碼:
實現步驟:
(1).在方法的參數類型前加out,那麼傳參數的時候,也必須在number前加out,表明這個參數不是傳入的,而是用來傳出值的
(2).如果參數是以out形式傳入的,那麼在傳入前可以不賦初值
(3).在方法中對於由out修飾的參數,必須賦值,並且必須在使用前賦值
out是內部為外部變數賦值,out一般用在函數需要有多個傳回值的場合
out用於傳出值,在方法中必須對out修飾的參數進行賦值
ref可以理解成是雙向的,既可以傳入,也可以傳出
在傳參數的過程中,如果參數有out或ref修飾的話,那麼改變方法中的參數變數的值,調用者方法中的變數的值也會相應的改變
C#基礎(3)