日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 基础语法

發布時間:2023/12/8 C# 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 基础语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • C# 基礎語法
    • C# 注釋符
    • C# 變量(Variable)
      • 變量的存儲
      • 變量的基本數據類型
      • 變量的使用規則
      • 變量的命名
      • 變量的作用域
    • C# 運算符
      • 賦值運算符
      • 復合賦值運算符
      • `+`號的作用
      • 算術運算符
      • 關系(比較)運算符
      • 邏輯運算符
      • 三元運算符
    • C# 占位符
    • C# 轉義符
      • `@`符號
    • C# 類型轉換
      • 隱式類型轉換(自動類型轉換)
      • 顯式類型轉換(強制類型轉換)
      • Convert類型轉換
      • TryParse類型轉換
      • ToString類型轉換
    • C# 結構劃分
      • C# 分支結構
        • if 語句
        • if-else 語句
        • if-else-if 語句
        • switch-case 語句
      • C# 循環結構
        • while 循環
        • do-while循環
        • for 循環
    • C# 關鍵字
      • break關鍵字
      • continue關鍵字
    • C# 復雜數據類型
      • C# 常量(Constant)
        • 常量的聲明
        • 什么時候使用常量?
      • C# 枚舉(Enum)
        • 枚舉的聲明和使用
        • 枚舉與基本數據類型之間的轉化
      • C# 結構
      • C# 數組
        • 數組的排序
    • C# 方法(函數)
      • 方法調用
      • 關鍵字return
      • 方法調用
      • out參數
      • ref參數
      • params可變參數
      • 方法的重載
      • 方法的遞歸
    • C# 異常
      • 異常捕獲
    • 產生隨機數


gitee代碼傳送門配合代碼食用更佳

C# 基礎語法

🌳C# 語言是在 C、C++ 的基礎上發展而來的,因此在語法形式上有些類似。
🌳掌握 C# 的基本語法是學好 C# 語言的前提。
🌳C#語言是一種強類型語言,要求每個變量都必須指定數據類型。
🌳任何一個程序都離不開選擇語句和循環語句,例如登錄一個網站需要輸入用戶名和密碼,如果輸入正確,可以進入該網站,否則無法登錄,這里使用的就是選擇語句。
🌳此外,如果輸入用戶名和密碼的次數超過 3 次就不允許登錄,則可以使用循環語句進行判斷或者使用跳轉語句完成。


C# 注釋符

①注釋符的作用

  • 注銷代碼
  • 解釋代碼
  • ②C#具有3種注釋符

  • 單行注釋 //
  • 多行注釋 /*要注釋的內容*/
  • 文檔注釋 /// 多用來解釋類或方法

  • C# 變量(Variable)

    變量的存儲

    變量用來在計算機當中存儲數據

    存儲變量的語法

    變量類型 變量名;//聲明或者定義某個類型的變量 變量名 = 值;//給這個變量進行賦值 //聲明并且給變量賦值的簡寫形式 變量類型 變量名 = 值;

    注:=在這里并不是表示等于而是表示賦值


    變量的基本數據類型

  • 整數類型:int 只能存儲整數,不能存儲小數
  • 小數類型:double 既能存儲整數,也能存儲小數,小數點后的位數 15~16位。
  • 金錢類型:decimal 用來存儲金錢,值后面需要加一個m。
  • 字符串類型:string 用來存儲多個文本,也可以存儲空,字符串類型的值需被 雙引號引用。
  • 字符類型:char 用來存儲單個字符,最多、最少只能存儲一個字符,不能存儲空,字符類型的值需被 單引號引用。
  • 布爾類型:bool類型用來描述對或錯。boolboolbool類型的值只有true和false兩個值。

  • 變量的使用規則

    如果你要是用變量的話,應該先聲明再賦值最后使用。


    變量的命名

    首先要保證的就是這個變量的名字要有意義。

  • 必須以“字母”、“_”、“@”開頭。(后兩個具有特殊意義)
  • 后面可以跟任意“字母”、數字、下劃線,不能有特殊符號
  • 以下劃線“_”的變量用于結構中的字段、類中的字段。
  • 符號“@”
  • 注意

  • 你起的變量名不要與C#系統中的關鍵字重復。
  • 在C#中,大小寫是敏感的。
  • 同一個變量名不允許重復定義(先這么認為,不嚴謹)
  • 在滿足上面一系列的規則之外同時還要滿足這一系列的規范。
    給變量起名字的時候要滿足兩個命名規范

  • 駱駝(Camel)命名規范。要求變量名的首字母要小寫,其余每個單詞的首字母要大寫。多用于給變量命名。如:hightSchool
  • Pascal 命名規范:要求每個單詞的首字母都要大寫,其余字母小寫。多用于類或者方法命名。

  • 變量的作用域

    🌳變量的作用域就是你能夠使用到這個變量的范圍。
    🌳變量的作用域一般從聲明它的那個括號開始到那個括號所對應的結束的括號結束。
    🌳在這個范圍內,我們可以訪問并使用變量。超出這個范圍就訪問不到了。


    C# 運算符

    由XX運算符連接的表達式稱為XX表達式
    如:由算術運算符連接的表達式稱為算術表達式。

    賦值運算符

    賦值運算符中最常見的是等號,除了等號以外還有很多賦值運算符,它們通常都是與其他運算符連用起到簡化操作的作用。

    運算符說明
    =x = y,等號右邊的值賦值給等號左邊的變量,即把變量 y 的值賦給變量 x

    注意:每個表達式我們都可以求解出一個定義,對于賦值表達式而言,等號左邊的變量的值,就是整個賦值表達式的值。


    復合賦值運算符

    運算符說明
    +=x+=y,等同于 x=x+y
    -=x-=y,等同于 x=x-y
    *=x*=y,等同于 x=x*y
    /=x/=y,等同于 x=x/y
    %=x%=y,等同于 x=x%y

    +號的作用

  • 連接:當+號兩邊有一邊是字符串的時候,+號就起到連接的作用。
  • 相加:兩邊都是數字的時候。

  • 算術運算符

    運算符說明
    +對兩個操作數做加法運算
    -對兩個操作數做減法運算
    *對兩個操作數做乘法運算
    /對兩個操作數做除法運算
    %對兩個操作數做取余運算
    ++x ++ 或 ++ x,等同于x = x + 1
    --x -- 或 -- x,等同于x = x - 1

    需要注意的是,++ 和 -- 運算符放在操作數前和操作數后是有區別的,如果放在操作數前,需要先將操作數加 1 或減 1,然后再與其他操作數進行運算;如果放在操作數后,需要先與其他操作數進行運算,然后操作數自身再加 1。
    前加加減減示例a = 2,b = ++a + 3?\longrightarrow? a += 1, b = 3 + 3
    后加加減減示例a = 2,b = a++ + 3?\longrightarrow? b = 2 + 3, a += 1

    對于像++、--這樣只需要一個操作數就能夠完成運算的符號,我們稱為一元運算符
    對于+、-、*、/、%這樣需要兩個或以上才能完成運算的操作符,我們稱為二元運算符
    一元運算符的優先級要高于二元運算符。
    如果在一個表達式當中,既有一元運算符,又有二元運算符,我們首先計算一元運算符。


    關系(比較)運算符

    關系運算符是用來描述兩個事物之間的關系
    關系表達式的結果是bool類型

    運算符說明
    ==表示兩邊表達式運算的結果相等,注意是兩個等號
    !=表示兩邊表達式運算的結果不相等
    >表示左邊表達式的值大于右邊表達式的值
    <表示左邊表達式的值小于右邊表達式的值
    >=表示左邊表達式的值大于等于右邊表達式的值
    <=表示左邊表達式的值小于等于右邊表達式的值

    邏輯運算符

    在使用邏輯運算符時需要注意邏輯運算符兩邊的表達式以及返回的結果都是布爾類型的

    運算符含義說明
    &&邏輯與如果運算符兩邊都為 True,則整個表達式為 True,否則為 False;如果左邊操作數為 False,則不對右邊表達式進行計算,相當于“且”的含義
    ||邏輯或如果運算符兩邊有一個或兩個為 True,整個表達式為 True,否則為 False;如果左邊為 True,則不對右邊表達式進行計算,相當于“或”的含義
    !邏輯非表示和原來的邏輯相反的邏輯

    注:邏輯與的優先級要高于邏輯或


    三元運算符

    if-else的簡化寫法
    語法

    表達式1?表達式2:表達式3;

    如果表達式1可以計算出true,那么表達式2的值就是整個三元表達式的值
    如果表達式1可以計算出false,那么表達式3的值就是整個三元表達式的值
    注意:表達式2的結果類型必須跟表達式3的結果類型一致,并且也要跟整個三元表達式的結果類型一致。


    C# 占位符

    使用方法:先挖個坑,再填個坑;挖坑就是“,”后變量的個數,填坑就是占位符的使用。從0開始依次遞增。
    使用占位符需要注意的地方

  • 你挖了幾個坑,就應該填幾個坑。如果你多填了,沒效果;如果你少填了,拋異常。
  • 輸出順序:按照挖坑的順序輸出
  • Console.WriteLine("第一個數字是{0},第二個數字是{1},第三個數字是{2}", n1, n2, n3);

    C# 轉義符

    轉義符指的就是一個’ \ '+ 一個特殊的字符,組成了一個具有特殊意義的字符

    轉義字符等價字符
    \'單引號
    \"雙引號
    \\反斜杠
    \0
    \a警告(產生鳴笛音)
    \b退格(放在字符串兩邊沒有效果)
    \f換頁
    \n換行
    \r回車
    \t水平制表符
    \v垂直制表符

    @符號

  • 取消\在字符串中的轉義作用,使其單純的表示為一個\
  • 將字符串按照原格式輸出
  • Console.WriteLine(@"今天天氣好清涼處處好風光");

    C# 類型轉換

    隱式類型轉換(自動類型轉換)

    我們要求等號兩邊參與運算的操作數的類型必須一致,如果不一致,滿足下列條件會發生自動類型轉化,或者稱之為隱式類型轉換。
    滿足下面兩個條件才能發生隱式類型轉換

  • 兩種類型相兼容。例如:int和double兼容(都是數字類型)
  • 目標類型大于源類型。例如:double > int

  • 顯式類型轉換(強制類型轉換)

    滿足下面兩個條件才能發生顯式類型轉換

  • 兩種類型相兼容。例如:int和double兼容
  • 目標類型小于源類型。例如:int < double
  • int number = 10; //int ---> double //目標類型 = 源類型 double d = number; //自動類型轉換 隱式類型轉換double d1 = 303.6; //double ---> int //目標類型 = (目標類型)原類型 int n = (int)d1;//強制類型轉換,顯示類型轉換 Console.WriteLine(n); //303

    Convert類型轉換

  • 兩者不兼容的時候。例如:string和double、int不兼容。
  • 面上必須要過得去。
    比如字符串"123"看起來就能夠轉成int類型,而字符串"abc"看起來就不能轉成int類型。
  • 使用Convert進行轉換,成功了就是成功了,失敗了就拋異常。

  • TryParse類型轉換

    Convert底層就是使用Parse,所以Parse也會拋異常,而TryParse轉化失敗不會拋異常

    int.Parse("123abc"); double.Parse("123abc"); decimal.Parse("123abc");int.TryParse("123abc"); double.TryParse("123abc"); decimal.TryParse("123abc");

    ToString類型轉換

    所有類型都能夠轉換成string類型

    //int n = 10; //double n = 3.14; //decimal n = 20000m; QQstate n = QQstate.Busy; string s = n.ToString(); Console.WriteLine(s);

    C# 結構劃分

    🌳無論世界上有多少語言、又將出現多少語言,他們的骨架都是這三個結構“順序結構”、“選擇結構”和“控制結構”。
    🌳順序結構:程序從Main函數進入,從上到下一行一行的執行,不會落下任何一行。
    🌳選擇結構:if、if-else、if-else-if、switch-case
    🌳循環結構:while、do-while、for、foreach


    C# 分支結構

    if 語句

    語法

    if(判斷條件) {代碼塊; }

    判斷條件:一般為關系表達式或者bool類型的值亦或是bool類型的變量。
    執行過程:當判斷條件為 True 時執行代碼塊中的內容,否則不執行并跳出if-else結構。
    if結構的特點:先判斷再執行,最多執行一條代碼。
    作用:用于一種情況的判斷


    if-else 語句

    語法

    if (判斷條件) {代碼塊1; } else {代碼塊2; }

    判斷條件:一般為關系表達式或者bool類型的值亦或是bool類型的變量。
    執行過程:上面語句的執行過程是當 if 中的布爾表達式的結果為 True 時執行代碼塊1,否則執行代碼塊2。代碼塊1或者2執行完之后,就跳出if-else結構。
    if-else結構的特點:先判斷再執行,最少執行一條代碼。else永遠只跟離它最近的那個if配對。
    作用:用于兩種情況的判斷


    if-else-if 語句

    語法

    if (判斷條件1) {代碼塊1; } else if (判斷條件2){代碼塊2; } ... else {代碼塊n; }

    判斷條件:一般為關系表達式或者bool類型的值亦或是bool類型的變量。
    執行過程:先判斷條件1 的值是否為 True,如果為 True,執行代碼塊 1,整個語句結束,否則依次判斷每個判斷條件的值,如果都不為 True,執行else語句中的語句塊 n。
    作用:用于處理多種情況的區間判斷

    需要注意的是,在上面的語法中最后一個 else{} 語句是可以省略的。如果省略了 else{} 語句,那么多分支的 if 語句中如果沒有判斷語句的值為 True 的語句,則不會執行任何語句塊。


    switch-case 語句

    語法

    switch(變量或者表達式的值) {case1:要執行的代碼;break;case2:要執行的代碼;;break;case3:要執行的代碼;break;......default:要執行的代碼;break; }

    執行過程:程序執行到switch處,首先將括號中變量或者表達式的值計算出來,
    然后拿著這個值依次跟每個case后面所帶的值進行匹配,一旦匹配成功,則執行該case所帶的代碼,執行完成后,遇到break,跳出switch-case結構。
    如果跟每個case所帶的值都不匹配,就看當前這個switch-case結構中是否存在default,如果有default,則執行default中的語句,如果沒有default,則該switch-case結構什么都不做。
    作用:用來處理多條件的定值判斷。只不過switch-case能夠處理的,if-else也能夠處理


    C# 循環結構

    while 循環

    語法

    while (循環條件) {循環體; }

    執行過程: 程序運行到while處, 首先判斷while所帶的小括號內的循環條件是否成立,
    如果成立的話, 也就是返回一個true, 則執行循環體, 執行完一遍循環體后, 再次回到
    循環條件進行判斷, 如果依然成立, 則繼續執行循環體, 如果不成立, 則跳出while循環。
    在while循環當中, 一般總會有那么一行代碼, 能夠改變循環條件, 使之終有一天不再成立,
    如果沒有那么一行代碼能夠改變循環條件, 也就是循環條件永遠都成立, 我們稱之這種循環叫做死循環。
    最簡單的最常用的死循環

    while (true) {}

    特點:先判斷,再執行,有可能一遍循環都不執行


    do-while循環

    語法

    do {循環體; }while(循環條件)

    執行過程: 程序首先會執行do中的循環體, 執行完成后, 去判斷do-while循環的循環條件, 如果成立, 則繼續執行do中的循環體, 如果不成立, 則跳出do-while循環。
    特點: 先循環, 再判斷, 最少執行一遍循環體。


    for 循環

    語法

    for(表達式 1; 表達式 2; 表達式3) {循環體; }

    表達式1一般為聲明循環變量,記錄循環的次數 (int i=0;)
    表達式2一般為循環條件 (i<10)
    表達式3一般為改變循環條件的代碼,使循環條件終有一天不再成立 (i++)。

    執行過程:程序首先執行表達式1,聲明了一個循環變量用來記錄循環的次數,
    然后執行表達式2 , 判斷循環條件是否成立,如果表達式 2 返回的結果為true,
    則執行循環體:當執行完循環體后,執行表達式3,然后執行表達式 2 繼續判斷循環條件是否成立,
    如果成立則繼續執行循環體,如果不成立,則跳出for循環。


    C# 關鍵字

    break關鍵字

  • 可以跳出switch-case結構
  • 跳出當前循環結構
  • break一般不單獨的使用,而是跟著if判斷一起使用,表示當滿足某些條件的時候,就不再循環了。


    continue關鍵字

    continue 會跳過當前循環中的代碼,強制開始下一次循環。


    C# 復雜數據類型

    C# 常量(Constant)

    與變量不同的是,常量在第一次被賦值后值就不能再改變。定義常量需要使用關鍵字 const 來完成。


    常量的聲明

    語法

    const 變量語法 變量名 =;

    需要注意的是,在定義常量時必須為其賦值,因為不賦值的話以后就再也不能賦值了。另外,也可以同時定義多個常量。


    什么時候使用常量?

    在程序中使用常量也會帶來很多好處,包括增強了程序的可讀性以及便于程序的修改。例如在一個計算率的程序中,為了保證程序中的稅率統一,設置一個名為 TAX 的常量來完成,如果需要修改稅率只修改該常量的值即可。


    C# 枚舉(Enum)

    枚舉就是一種變量類型。只是枚舉聲明、賦值、使用的方式跟那些普通的變量類型不一樣。

    枚舉的作用:枚舉可以規范開發
    舉個例子說明為什么會有枚舉這個東西?
    比如說你現在和三個人共同做個某某大學管理系統。這是你們四個人都這些事情,并且都分配了不同的模塊,比如存儲性別,每個人的定義方法都不相同,你們這個時候我們可以共同定義性別的規范,這是就可以使用枚舉規范我們的開發。

    語法

    //聲明以及使用 [public] enum 枚舉名 {1,2,3,...... }

    public:訪問修飾符。公開的公共的,哪都可以訪問。
    enum:關鍵字,聲明枚舉的關鍵字
    枚舉名:要符合Pascal命名規范


    枚舉的聲明和使用

    將枚舉聲明到命名空間的下面,類的外面,表示這個命名空間下,所有的類都可以使用這個枚舉。

    public enum Season {,,,}Season s = Season.;

    枚舉與基本數據類型之間的轉化

    枚舉類型和int類型相互轉換
    枚舉類型默認是跟int類型相互兼容的,所以可以通過強制類型轉換的語法互相轉換。
    當轉換一個枚舉中沒有的值的時候,不會拋異常,而是直接將數字顯示出來。

    枚舉類型和string類型相互轉換
    枚舉同樣也可以跟string類型互相轉換,如果將枚舉類型轉換成string類型, 則直接調用ToString();
    如果將字符串轉換成枚舉類型則需要下面這樣一行代碼:

    (要轉換的枚舉類型)Enum.Parse(typeof(要轉換的枚舉類型), "要轉換的字符串");

    如果轉換的字符串是數字,則就算枚舉中沒有,也不會拋異常。
    如果轉換的字符串是文本,如果枚舉中沒有,則會拋異常。


    C# 結構

    結構作用:可以幫助我們一次性聲明多個不同類型的變量。

    [public] struct 結構名 {成員; //字段 }

    變量在程序運行期間只能存儲一個值,而字段可以存儲多個值。


    C# 數組

    數組作用:可以幫助我們一次性存儲多個相同類型的變量。
    通過下標或者索引去訪問和賦值數組中的元素。
    語法

    數組類型[] 數組名 = new 數組類型[數組長度];

    數組的長度一旦固定了,就不能夠再改變了。


    數組的排序

    通過下方兩個操作可以實現數組的升序和降序。

    Array.Sort(數組); //升序 Array.Reverse(數組); //反轉數組

    C# 方法(函數)

    方法就是將一堆代碼進行重用的一種機制
    語法

    [public] static 返回值類型 方法名([參數列表]) {方法體; }

    public:訪問修飾符,公開的, 公共的,哪都可以訪問
    static:靜態的
    返回值類型:如果不需要寫返回值,寫void
    方法名:Pascal 每一個單詞的首字母都大寫,其余字母小寫
    參數列表:完成這個方法所必須要提供給這個方法的條件。如果沒有參數,小括號也不能省略。


    方法調用

    方法寫好后,如果想要被執行,必須要在Main()函數中調用。
    方法的調用語法

    類名.方法名([參數]);

    在某些情況下,類名是可以省略的,如果你寫的方法跟Main()函數同在一個類中,這個時候,類名可以省略。


    關鍵字return

  • 在方法中返回要返回的值。
  • 立即結束當前方法。

  • 方法調用

    我們在Main()函數中,調用Test()函數,我們管Main()函數稱之為調用者,管Test()函數稱之為被調用者。

    如果被調用者想要調用者的值:
    1.傳遞參數
    2.使用靜態字段來模擬全局變量
    (CSharp沒有全局變量,但是可以用靜態字段模擬全局變量,靜態變量的作用域是聲明的類當中)

    如果調用者想要被調用者的值:
    1.return 返回值;

    方法需要注意的地方
    1.不管是實參還是形參,都是在內存中開辟空間。
    2.方法的功能一定要單一。錯誤示范:GetMax(int n1, int n2) //判斷閏年
    3.方法中最忌諱的就是出現提示用戶輸入的字眼,所以你需要盡可能地不使用Console.WriteLine()方法來達到目的。


    out參數

    如果你在一個方法中,返回多個相同類型的值的時候,可以考慮返回一個數組。
    但是,如果返回多個不同類型的值的時候,返回數組就不行了,那么這個時候,我們可以考慮使用out參數。
    out參數就側重于在一個方法中返回多個不同類型的值。
    out參數要求在方法的內部必須為其賦值。
    out意思就是返回多余的值。


    ref參數

    能夠將一個變量帶入一個方法中進行改變,改變完成后,再講改變后的值帶出方法。
    ref參數要求在方法外必須為其賦值,而方法內可以不賦值。


    params可變參數

    將實參列表中跟可變參數數組類型一致的元素都當作數組的元素去處理。
    params 參數必須是形參表中最后一個參數。一個形參列表中只能有一個params參數。


    方法的重載

    方法的重載指的就是方法的名稱相同,但是參數不同。
    參數不同,分為兩種情況
    1.如果參數的個數相同,那么參數的類型就不能相同。
    2.如果參數的類型相同,那么參數的個數就不能相同。
    注:方法的重載跟返回值沒有關系


    方法的遞歸

    方法自己調用自己


    C# 異常

    異常是指 語法上沒有任何錯誤,在程序運行的過程當中,由于某些原因出現了問題,使程序不能再正常的運行。

    異常捕獲

    我們在程序中經常會出現各種各樣的異常,你如果想要你的程序變得堅強一些。
    在你的代碼中應該經常性的使用try-catch來進行異常捕獲。

    哪行代碼有可能出現異常,你就try它一腳。
    語法

    try {可能會出現異常的代碼塊; } //try和catch之間不能有其它的代碼 catch {出現異常后要執行的代碼塊; }

    執行過程:如果try中的代碼沒有出現異常,那么catch中的代碼不會執行。
    如果try中的代碼出現了異常,那怕這行出現異常的代碼后面還有一百行都不會執行了。
    而是直接跳到catch中執行代碼。


    產生隨機數

    Random r = new Random(); int rNumber = r.Next(1, 11); //左閉右開

    總結

    以上是生活随笔為你收集整理的C# 基础语法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。