iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
自我挑戰組

C# 與 .Net Core 雜記系列 第 3

初次遇見 .NET

安裝 .NET SDK

.NET官網下載, 可以選擇 .NET 5, 或 .NET Core 3.1, 在這裡我選 .NET 5.0, 安裝完後, 使用 command-line 工具, 執行 dotnet --version, 確認有安裝成功

Hello World

在 command-line 中 執行以下指令

mkdir hello # 建立 hello 目錄
cd hello # 進入 hello 目錄
dotnet new console # 建立 console 專案
dotnet run # 執行專案
# 結果打印出 Hello World!

很神奇, 一行 code 沒寫, 指令打一打就可以執行了
我們來看看, 這其中發生了什麼事, dotnet new console 指令是 dotnet sdk 指令, 意思是在當前目錄以 Console Application 為範本建立專案, dotnet run 執行當前目錄裡的專案, 我們選用一套編輯器來試試, 這裡使用 VS Code, 使用 VS Code 打開 hello 目錄, 發現兩個檔案 hello.csproj, Program.cs, hello.csproj 是專案檔如下, 其中 TargetFramework 可以用來設定目標的 .NET 版本

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
</Project>

另外一個檔案 Program.cs 就是程式主檔, 打開發現其中程式的進入點 Main 就在裡面,

using System;   // 參考 System namespace 
namespace hello  // 設定 namespace 為 hello
{
    class Program  // 定義類名為 Program
    {
        static void Main(string[] args) // 定義靜態方法 Main, 此為程式進入點 
        {
            Console.WriteLine("Hello World!");  
            // 這裡是使用 System namespace 下的 Console類的靜態方法WriteLine 來打印 Hello World!
        }
    }
}

C# 基礎觀念

分兩種類型, 一種實值型別(value types), 一種參考型別(reference types), value type 的變數值接包含其資料, reference type 的變數會儲存資料的參考, 稱為物件(object), 有可能兩個變數參考到同一物件, 當對其中一個變數作操作時可能就會影響到另一個變數的參考物件, 標示符(identifier) 是變數的名稱, 可由 unicode 字元組成不含任何空白.
實值型別又分成簡單類型(simple type), 列舉類型(enum type), 結構類型(struct type), 可 null 值的實值類型(nullable value type), 元祖實值類型(tuple value type)
參考型別又分成類別類型(class type), 介面類型(interface type), 陣列類型(array type), 委派類型(delegate type)
任何型別的值都可以視為 object, 每個型別都直接或間接衍生自 object 類別型別, object 是所有型別的基礎類別, 實值型別的值可以視為 object, 是透過執行 boxing 和 unboxing

int i = 123;
object o = i; // Boxing
int j = (int)o; // Unboxing

上一篇
認識 .NET
下一篇
C# 一些基礎特性
系列文
C# 與 .Net Core 雜記14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言