自學一:C#基礎語法入門

2020-08-12 18:59:28

§3.1 識別符號

只要是語言,都會有識別符號和關鍵字的概念,識別符號必需滿足以下幾個條件:

      • 識別符號必須以字母、下劃線或 @ 開頭,後面可以跟一系列的字母、數位( 0 - 9 )、下劃線( _ )、@。
      • 識別符號中的第一個字元不能是數位。
      • 識別符號必須不包含任何嵌入的空格或符號,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
      • 識別符號不能是 C# 關鍵字。除非它們有一個 @ 字首。 例如,@if 是有效的識別符號,但 if 不是,因爲 if 是關鍵字。
      • 識別符號必須區分大小寫。大寫字母和小寫字母被認爲是不同的字母。
      • 不能與C#的類庫名稱相同。

C#是大小寫敏感的語言,定義的時候,儘量保留其意義,使其具有一定的自描述性。

 

§3.2 關鍵字

關鍵字是 C# 編譯器預定義的保留字。這些關鍵字不能用作識別符號,但是,如果您想使用這些關鍵字作爲識別符號,可以在關鍵字前面加上 @ 字元作爲字首。

在 C# 中,有些關鍵字在程式碼的上下文中有特殊的意義,如 get 和 set,這些被稱爲上下文關鍵字(contextual keywords)。

保留字

第三章 C#基础语法入门

 

上下文關鍵字

第三章 C#基础语法入门

 

§3.3 數據型別

C#中,最常見的兩大數據型別是值型別和參照型別。值型別也可稱之爲基礎數據型別,包含簡單型別,列舉型別,結構型別三種。參照型別包括字串型別,陣列型別,類型別,物件型別,介面型別和代理型別。

第三章 C#基础语法入门

 

§3.4 變數

C# 中變數定義的語法:

<data_type> <variable_list>;

注:data_type 必須是一個有效的 C# 數據型別,可以是 char、int、float、double 或其他使用者自定義的數據型別。variable_list 可以由一個或多個用逗號分隔的識別符號名稱組成。

eg:

int i, j, k;
char c, ch;
float f, salary;
double d;

【變數初始化方式】

  • 宣告同時進行初始化
    int iNum = 100;
  • 先宣告,後初始化
    int iNum;
    iNum = 100;
  • 使用者輸入初始化
    int iNum = Convert.ToInt32(Console.Read());

§3.4.1 全域性變數

很遺憾! C#中不存在全域性方法和變數,所有的變數和方法都包含在類的定義之中!

§3.4.2 區域性變數

宣告在函數體內的變數,稱之爲區域性變數。

eg:

// #region << 版 本 注 釋 >>
// /*----------------------------------------------------------------
// // Copyright (C) 2019 極客部落
// // 版權所有。 
// //
// // 檔名:Program.cs
// // 檔案功能描述:
// //
// // 
// // 建立者:GeekTribe
// // 時間:14:05
// //----------------------------------------------------------------*/
// #endregion
using System;
​
namespace MSN
{
    class MainClass
    {
        int Add(int num1, int num2)
        {
​
            int sum;//區域性變數
            sum = num1 + num2;
​
            return sum;
        }
​
        public static void Main(string[] args)
        {
            
            Console.WriteLine("Hello World!");
        }
    }
}
​

§3.5 常數

使用const關鍵字修飾的變數,稱之爲常數。

注意:

常數需在宣告的同時進行初始化,且只能初始化一次,程式執行期間,常數不能被修改。

定義一個常數的語法如下

const <data_type> <constant_name> = value;

eg:

public const int c_iNum = 5;

§3.6 數據型別轉換

§3.6.1 自動型別轉換

自動型別轉換,亦可稱爲隱式型別轉換 - 這些轉換是編譯器自動進行的轉換。 C# 預設的以安全方式進行的轉換, 不會導致數據丟失。例如,從小的整數型別轉換爲大的整數型別,從派生類轉換爲基礎類別。

eg:

int iNum = 1202;
float fNum = iNum;

§3.6.2 強制型別轉換

C#是強制型別語言,編譯器會自動檢測數據型別,如果不一致則會自動進行數據型別轉換。如果不能隱式轉換,則需要我們進行顯示的轉換。其方式有三種:

(1)使用強制型別轉換運算子()

int ii=50;
​
short ss=(short)ii;

(2)使用System.Convert類的靜態成員方法,ToString,ToInt,ToDouble等等

int ii=10;
​
string str=System.Convert.ToString(ii);

(3)使用.Net框架提供的Parse()方法

string ff = "200";
float f = float.Parse (ff);
Console.WriteLine (f);

C# 型別轉換方法

第三章 C#基础语法入门

 

§3.7 控制檯輸入/輸出函數

C# 控制檯程式一般使用 .NET Framework Console 類提供的輸入/輸出服務。

【C#控制檯輸入/輸出語句】

Console.Read()方法: 從控制檯視窗讀取一個字元,返回int值

Console.ReadLine()方法: 從控制檯視窗讀取一行字元,返回string值

Console.ReadKey()方法: 監聽鍵盤事件,可以理解爲按任意鍵執行

Console.Write()方法: 將制定的值寫入控制檯視窗

Console.WriteLine()方法: 將制定的值寫入控制檯視窗,並換行

eg:

class Program
{
    static void Main(string[] args)
    {
                Console.WriteLine("請輸入一個字元:");
            int ch = Console.Read();
            Console.WriteLine("\nch = {0}", ch);
​
            Console.WriteLine("請輸入一行字元:");
            string str = Console.ReadLine();
            Console.WriteLine("str = {0}", str);
​
            //Console.ReadKey();
​
            Console.Write("One World, One Dream!");
​
            Console.WriteLine("Hello World!");
    }
}