當前位置:首頁 > IT技術 > Windows編程 > 正文

C#:基本語法總結
2021-09-03 18:16:30

PS:最近學了C#,很多地方和原理和C以及C++是類似的,因此基本語法我只總結了一些相對于不同的定義方式以及一些新的概念。

這里也不再介紹相關編譯環(huán)境和工程的建立了。

一、Hello World

和其他語言一樣,都是從Hello World著手的。

代碼:

Console.Write("Hello World!");//不會換行
Console.WriteLine("Hello World!");//會自動換行
Console.ReadKey();//相當于在這里中斷

二、三種注釋方法

//:多用于給變量注釋

/*? ?*/:多用于大段文本注釋

///:多用于給類和方法注釋

三、變量

變量的概念、語法、使用規(guī)則和命名規(guī)則這里不在介紹了,和C以及C++幾乎是一樣的。

命名規(guī)范:駝峰命名法

要求變量名首單詞的首字母小寫,其余每個單詞的首字母大寫。

例如:?time, playerName, vipLevel,myNameIsMonkey

基本類型和C也差不多,但是區(qū)別在于:

float類型:單精度小數(shù)類型, 既能存儲整數(shù),又能存儲小數(shù),值后面需要加上一個 f。

string類型:和C++幾乎一樣。

四、運算符合表達式(和C、C++一樣,不再贅述)

五、占位符

用途:讓字符串與變量連接更舒服。

1.語法結構
先挖坑{0},{1},{2}, 再填蘿卜(變量)進坑。

2.注意事項
①你挖了幾個坑,就應該填幾個蘿卜;
如果你多填了蘿卜,沒效果;
如果你少填了蘿卜,拋異常。
②輸出順序;
按照挖坑的順序輸出,另外蘿卜是有位置順序的。

例如:

Console.WriteLine("我的名字:{0},我今年:{1}", name, age);

六、用戶輸入與轉義符

用戶輸入:Console.ReadLine();

轉義符:

:表示換號
”:表示一個英文半角的雙引號
:表示一個 tab 鍵的大空格
:表示一個 BackSpace 退格鍵,會把前面的一個字符刪掉
\:表示一個
@:用在字符串的前面,有兩種用途。
①取消“”在字符串中的轉義作用,使其單純的就表示一個斜線[多用于路徑]
②將字符串按照原格式輸出

七、類型轉換

強制類型轉換和隱式轉換不再贅述。

Convert 類型轉換

兩個變量的類型如果相兼容,可以使用自動類型轉換或者強制類型轉換。如果兩個變量的類型不兼容,比如 string 和 int,string 和 double。這個時候我們可以用 Convert 進行轉換。

注意: 使用 Convert 進行類型轉換,也需要滿足一個條件,條件就是“面子上要過得去”

Convert.ToInt32();
Convert.ToDouble();

八、分支結構之 if和switch語句

不再贅述,和C、C++一樣

?九、循環(huán)語句

不再贅述,和C、C++一樣

十、數(shù)組的定義及遍歷(這里只介紹不同之處)

定義及初始化:

數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
數(shù)組初始化完成后,各種類型的數(shù)組的默認值:
int[], 元素的值默認都是 0;
float[], 元素的值默認都是 0;
double[],元素的值默認都是 0.0;
string[], 元素的值默認都是 null;
bool[], 元素的值默認都是 false;

for的遍歷方式和C一樣,這里介紹C#獨有的:foreach遍歷

foreach(數(shù)組數(shù)據(jù)類型 臨時變量 in 數(shù)組名)
{
Console.WriteLine(臨時變量);
}

十一、數(shù)組之內存結構

1.值類型與引用類型
值類型
int,float,double,bool,char
內存:值類型的值存儲在內存的
演示:int 類型變量間傳值 int a = 10; int b = a;
注意:這個時候單獨修改 b 的值,a 的值不會發(fā)生改變,這種傳遞叫做值傳遞。
這個時候變量之間的傳遞就是拷貝一個具體的值給對方。

引用類型
數(shù)組,字符串
內存:引用類型的值存儲在內存的
演示:int 數(shù)組類型變量間傳值 int[] intA = new int[]{00,111,222,444};
int[] intB = intA;
注意:這個時候單獨修改 intB 中元素的值,intA 的值是會發(fā)生改變,這種傳遞
叫做引用傳遞。
這個時候變量之間的傳遞就是拷貝一個地址給對方。

2.數(shù)組的內存結構
數(shù)組在內存中是一塊連續(xù)的存儲空間存儲的。
最低的地址對應第一個元素,最高的地址對應最后一個元素。

十二、數(shù)組之二維數(shù)組

1.二維數(shù)組基本語法
1.聲明與初始化
聲 明:數(shù)據(jù)類型[,] 數(shù)組名;
初始化:數(shù)組名 = new 數(shù)據(jù)類型[行數(shù),列數(shù)];
聲明,初始化二合一格式:
數(shù)據(jù)類型[,] 數(shù)組名 = new 數(shù)據(jù)類型[行數(shù),列數(shù)];
2.賦值與取值
賦值:數(shù)組名[下標,下標] = 值;
取值:數(shù)組名[下標,下標];

3.聲明初始化賦值三合一:
數(shù)據(jù)類型[,] 數(shù)組名 = new 數(shù)據(jù)類型[,] { {0,0,0,0,0,0,0,0,0,0},{1,1,1,1,1,1,1,1,1,1} };

2.二維數(shù)組的遍歷
for 循環(huán)嵌套
數(shù)組名.GetLength(軸向下標); //可以獲取某個軸向的元素個數(shù)。

int[,] a = new int[3,4] {{0,0,0,0},{1,1,1,1},{2,2,2,2} };
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for(int j = 0;j < a.GetLength(1); j++)
                {
                    Console.WriteLine(a[i, j]);
                }
            }
        }

十三、函數(shù)

這里概念不再贅述了。。。

函數(shù)的聲明與調用

1.Pascal 命名法
帕斯卡命名規(guī)范,要求每個單詞的首字母都要大寫,其余字母小寫。
用途:多用于給類或者函數(shù)(方法)命名。
例如:ReadLine,ReadKey,ToDouble,ToInt32

2.函數(shù)的聲明(語法)

static 返回值類型 函數(shù)名([參數(shù)列表])
{
函數(shù)代碼體;
}

說明:
static:靜態(tài)標識符;
返回值類型:如果不需要返回值就寫 void,就是無返回值的意思;
函數(shù)名:當前功能函數(shù)的名字,要符合 Pascal 命名規(guī)范;
參數(shù)列表:如果不需要參數(shù),小括號中可以直接留空;
如果需要參數(shù),要以:參數(shù)類型 參數(shù)名 的形式書寫;

函數(shù)的調用:函數(shù)名([實際參數(shù)]);

注意:如果函數(shù)只聲明不調用,則函數(shù)中的代碼不會被執(zhí)行。

函數(shù)的參數(shù)與返回值:不再贅述。

函數(shù)重載

概念:函數(shù)的名稱相同,但是參數(shù)列表不同。調用該函數(shù)的時候,會根據(jù)不用的參數(shù),自動選擇合適的函數(shù)重載形式。

參數(shù)不同的情況
①如果參數(shù)的個數(shù)相同,那么參數(shù)的類型就不能相同;
②如果參數(shù)的類型相同,那么參數(shù)的個數(shù)就不能相同。
注意:函數(shù)的返回值和重載沒有關系

ref參數(shù)

1.作用
將一個變量傳入一個函數(shù)中進行“處理”,“處理”完成后,再將“處理”后的值帶出函數(shù)。

2.要求
函數(shù)外必須為變量賦值,而函數(shù)內可以不賦值。

3.語法
形參和實參前面都要加 ref 關鍵字。
例如:Add(ref num); static void Add(ref int num);

out 參數(shù)

一個函數(shù)中如果返回多個不同類型的值,就需要用到 out 參數(shù)。

2.要求
函數(shù)外可以不為變量賦值,而函數(shù)內必須為其賦值。

3.語法
形參和實參前面都要加 out 關鍵字。
例如:

Number(a,b, out max, out min);
static void Number(int a, int b, out int max, out int min);

?

本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務立即開通 >