# [112]天方科技 ASP.net core 教育訓練 1120309(VS專案建置、C#基礎結構) ## 使用Visual Studio建置專案 ### 點擊上方工具列 檔案→新增→專案。  ### 我們要使用的是 .NET Core Web API,可在上方搜尋列輸入關鍵字,或者使用下拉式選單做條件過濾。  ### 建立的專案名稱會與解決方案名稱一樣,除非有修改過解決方案名稱,否則兩者名稱同步,可選擇專案位置。 解決方案:可用來管理多個不同專案。  ### 通常會將下方選項勾選,將解決方案以及專案放在同個位置。  ### 架構使用 .NET6.0以上版本(目前都使用最新版本7.0),設定部分注意最下方三個選項。 **使用控制器**:會有預設Controllers建置,初次接觸建議勾選。 **啟用OpenAPI支援**:會建置swagger功能,可測試API功能,以及產生API說明文件。 **不要使用最上層陳述式**:Programs.cs檔案是專案開啟時的核心檔案,勾選此選項,會將Programs.cs裡的C#簡寫,初次接觸建議勾選,以了解C#原始結構。  ### 建置完成  ### 執行專案  ### 執行後進入Swagger頁面  ## C#結構、型別簡介 使用Program.cs當作範例。  `public static void Main(string[] args)` **Main()** 為進入點 .NET執行時先進入此方法,一般來說只有一個Main() ### 關鍵字 namespace:命名空間,所有C#程式基本包在namespace裡,用來區分class名稱,如不使用也可以,但容易出現class名稱重複的error public:為存取修飾詞,public是公用存取層級,常用的有private、protected static:為宣告修飾詞,static用來宣告靜態成員,常用的有readonly 、override void:為方法的回傳型別,void指方法不會回傳值,也可使用int、string 型別系統可透過C#關鍵字介紹多加了解 參考: [**C# 關鍵字**](https://learn.microsoft.com/zh-tw/dotnet/csharp/language-reference/keywords/) ### value type:可直接讀取值 1.Struct:結構型別,可定義變數、屬性、方法,**無法被繼承**,記憶體儲存為stack區,速度快,容量小 2.Enum:列舉型別,資料可被列舉,有被限制個數的型別 此圖a變數要賦予列舉型別WeekDay,只能從被設定的7個值選  ### reference type:讀取值所在的參考位址 1.Class:類別型別,最常用型別,可定義變數、屬性、方法,**可被繼承**,記憶體儲存為Heap區,容量大 ":"為繼承標誌,後面放置Class或者Interface則會繼承,須注意Class只能單一繼承,Interface可以多重繼承  2.Interface:**本身無法實作**,需透過Class、Strcut繼承並實作,用來定義型別需要有的資料成員或方法成員,變數命名習慣以I開頭,例ITest(){}, 使用Struct繼承Interface,實作void xx()  3.Delegate:委派型別,只定義一個**方法**的回傳型別、參數型別,只要方法所需的參數型別符合Delegate的設定,都可以被Delegate呼叫,例如Click事件,當我們寫好方法與Click事件繫結,就是將此方法委派給Click事件  最後可簡寫成Lambda運算式 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up