前言
提醒:為了能夠將知識點學得更加透徹、記得更加牢固 我會通過教學講解的方式把知識寫下來 因為在程序中會讓人從學生變成老師 這個程序會挖掘出新的知識和觀點 是一個自我思維切換而達成的知識深度挖掘和提升的程序 如果能幫助到大家那就最好 如果有講錯的地方還請多多指教!我只是一只菜雞 感謝理解!
1、Hello World程式
在學習編程語言之前我要提醒大家一下 學習編程語言最忌諱的一點就是 只看不寫
看的時候
大腦:嗯太簡單了 我會了!
手:不 你不會 !
等寫的時候就發現 都是些什么玩意
所以我們一定要動起手來寫 廢話不多說 我們打開vistudio studio編譯器 也可以不是VS用你們順手的就行 新建一個控制臺應用專案
我們先從一段簡單的代碼學起

先來看看執行結果

輸出了Hello World!
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}
我們來看看一個簡單的C#程式結構
-
using System : 參考名稱為System的命名空間
-
namespace ConsoleApp1 :宣告ConsoleApp1命名空間 宣告后我們就可以通過using來參考
-
class Program :宣告一個Program類
-
Main :程式的入口點
-
Console.WriteLine() :將資訊輸出到螢屏(就是我們的控制臺視窗)我們只所以在控制臺視窗看到Hello World! 就是這句話的作用 我們可以自行修改看看效果 我們把要輸出的陳述句改一下
Console.WriteLine("我只是一只Unity小菜雞");
控制臺視窗就能看到輸出了一句 我只是一只Unity小菜雞
- Console.ReadKey() :等待用戶按下任意鍵 為了避免程式編譯完后一閃而過 可以把這句話刪掉看看有什么變化
- 仔細點看 我們可以發現在這段代碼中所有的陳述句和運算式都要以;分號結尾
像這條陳述句 結尾的時候都會帶一個;分號
Console.WriteLine("我只是一只Unity小菜雞");
這是因為語言規定了 陳述句都需要加分號表示該陳述句結束了 所有寫程式一定要養成用分號結尾這個習慣 不然程式會報錯的
2、什么是識別符號
識別符號是使用在變數、類、方法、和其他各種用戶定義物件的一般術語,
int index = 0;
index 就是一個識別符號
簡單的說 我們給變數或者用戶自定義型別指定的名字就叫識別符號
命名識別符號是一門學問 它是需要我們去遵守一些規則的
例如:
- 必須以字母或者_開頭
- 不能包含空格
- 可以包含大小寫字母、數字、下劃線或@字符
- 識別符號必須區分大小寫,大寫字母和小寫字母會被認定為不同的字母
- @字符只能放在識別符號的第一位,帶@前綴的識別符號稱為逐字識別符號
- 識別符號不能使用C#中的關鍵字,但是加上@的關鍵字可以成為合法的識別符號 但是不建議這樣做
- 不能與C#的類別庫名稱相同
3、什么是關鍵字
我們在這個簡單的程式中可以看到 using、 namespace、 class、 這些都是C#預定義的保留識別符號 這些預保留的識別符號對編譯器有特殊的意義 我們不能用它作為我們程式的識別符號來使用(識別符號不能和關鍵字重復 除非加上@)
例如我們定義一個int 變數 變數名為using 這樣程式就會報錯

因為using是已經預定義的保留的識別符號其作用是幫助我們參考其他命名空間(參考命名空間有什么等等會講) 所以我們不能拿他作為我們自己變數的識別符號使用
int @using = 1;
帶上@就可以
C#提供的關鍵字挺多的 初學的時候了解下就好了 不需要都記住 因為很多關鍵字后面都會頻繁的使用 久而久之就都能記住了 這里附上C#官方提供的C#關鍵字檔案 遇到不會的查就完事了
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/
4、為什么要參考命名空間
這里我們再來了解下參考命名空間這個概念
我們之所以能夠呼叫Console.WriteLine(); 這個方法(也可以叫它函式)就是因為我們參考了System這個命名空間,因為Console.WriteLine()這個方法就是在using System命名空間下的,如果我們不參考System這個命名空間 我們看看會發生什么
我們把using System這句話給去掉
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}
可以看到編譯器報錯了!

提示當前背景關系中不存在Console 我們再把System參考回去
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}

編譯又正常了
我們再來深入理解下剛剛那句話我們之所以能夠呼叫Console.WriteLine(); 這個方法(也可以叫它函式)就是因為我們參考了System這個命名空間,因為Console.WriteLine()這個方法就是在using System命名空間下的
滑鼠點擊Console 按下F12 或者右鍵轉到定義 我們來看看

可以觀察到System的命名空間下定義了一個Console類
然后我們往下拉 或者 回到我們的程式滑鼠點擊WriteLine 然后再F12

是不是看到了WriteLine() 這個函式
所以現在懂了吧 Console.WriteLine()在System命名空間下的Console類中 如果我們不參考System命名空間 自然就呼叫不了它 就好比現實生活中的 你需要去你朋友家里借他的PS4玩 你不知道他家在哪里 那你怎么找他借呢
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/255030.html
標籤:.NET技术
