C#入門-Day10:套件

閱讀時間約 7 分鐘

程序集(Assembly)

程序集是 .NET 應用程序的基本構建模塊。它可以是 DLL(動態鏈接庫)或 EXE(可執行文件)文件。程序集包含類型和資源,可以被其他程序集引用和使用。

開發 DLL(動態鏈接庫)是 C# 開發中的一個常見任務。DLL 文件允許你將代碼模塊化並在多個應用程序中重用。以下是創建和使用 DLL 的步驟:

創建 DLL 專案

步驟 1:創建一個類庫專案

  1. 打開 Visual Studio。
  2. 選擇 "Create a new project"。
  3. 在項目模板中選擇 "Class Library"(.NET Core 或 .NET Framework,根據你的需求)。
  4. 為你的項目命名並選擇保存位置。
  5. 點擊 "Create"。

步驟 2:編寫代碼

在新創建的專案中,會自動生成一個類文件(如 Class1.cs)。你可以添加自己的類和方法。

namespace MyLibrary
{
public class MathHelper
{
public int Add(int a, int b)
{
return a + b;
}
}
}

步驟 3:構建專案

  1. 在 Visual Studio 中,右鍵單擊解決方案資源管理器中的專案名稱。
  2. 選擇 "Build" 或 "Rebuild"。
  3. 構建成功後,DLL 文件將在專案的 bin\Debug\netstandard2.0\bin\Debug\netcoreapp2.0\(具體路徑取決於你的目標框架)目錄中生成。

使用 DLL

要在其他應用程序中使用剛才創建的 DLL,需要將其引用到你的新項目中。

步驟 1:創建一個主控台應用程序

  1. 打開 Visual Studio。
  2. 創建一個新的專案,選擇 "Console App" 模板。
  3. 為你的應用命名並選擇保存位置。

步驟 2:添加 DLL 引用

  1. 在主控台應用程序中,右鍵單擊 "References"。
  2. 選擇 "Add Reference..."。
  3. 在左側菜單中選擇 "Browse",並導航到之前生成的 DLL 文件位置。
  4. 選擇 DLL 文件並添加引用。

步驟 3:使用 DLL 中的類和方法

在你的主控台應用程序中使用從 DLL 引用的類和方法。

using System;
using MyLibrary;

namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
MathHelper mathHelper = new MathHelper();
int result = mathHelper.Add(5, 3);
Console.WriteLine($"5 + 3 = {result}");
}
}
}

補充說明

通過創建類庫專案、編寫代碼並構建 DLL,你可以生成可重用的組件。在其他應用程序中引用和使用這些 DLL 可以提高代碼的模塊化和可重用性。這種方法在大型軟件開發中尤其有用,因為它可以將不同功能分離到獨立的組件中。

命名空間(Namespace)

命名空間用於組織類型,並防止名稱衝突。命名空間可以包含類、接口、枚舉和其他命名空間。

using System;

namespace MyApplication
{
namespace Utilities
{
public class UtilityClass
{
public static void PrintMessage(string message)
{
Console.WriteLine(message);
}
}
}

class Program
{
static void Main(string[] args)
{
Utilities.UtilityClass.PrintMessage("Hello, World!");
}
}
}

NuGet 包管理器

NuGet 是 .NET 的包管理器,用於查找、安裝和管理外部庫和依賴項。使用 NuGet,可以輕鬆地將第三方庫添加到你的 C# 項目中,類似於 Python 中的 pip。

使用 NuGet 安裝包

  1. 在 Visual Studio 中使用 NuGet
    • 右鍵單擊項目,選擇“Manage NuGet Packages”。
    • 搜索所需的包,然後點擊“Install”進行安裝。
  2. 使用命令行:在項目目錄中運行以下命令:
    dotnet add package <PackageName>

示例:使用 Newtonsoft.Json 解析 JSON

這是一個常見的例子,展示如何使用 NuGet 安裝並使用外部包。在這裡,我們使用 Newtonsoft.Json 來解析 JSON。

  1. 安裝 Newtonsoft.Json:
    dotnet add package Newtonsoft.Json
  2. 使用 Newtonsoft.Json 解析 JSON:
    using System;
    using Newtonsoft.Json;

    public class Program
    {
    public class Person
    {
    public string Name { get; set; }
    public int Age { get; set; }
    }

    public static void Main(string[] args)
    {
    string json = "{\\\\"Name\\\\":\\\\"Alice\\\\",\\\\"Age\\\\":30}";

    // 解析 JSON 字符串
    Person person = JsonConvert.DeserializeObject<Person>(json);

    Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
    }
    }

這個示例展示了如何使用 NuGet 安裝和引用第三方庫,以及如何使用該庫來解析 JSON 字符串。通過這種方式,C# 可以輕鬆地擴展和使用大量的現有庫來滿足不同的需求。

    6會員
    77內容數
    日後將分享關於我的經驗(日常、工作、技術),並期待未來能創造屬於我的宇宙。
    留言0
    查看全部
    發表第一個留言支持創作者!
    Michael楊 的其他內容
    C#入門-Day4:資料型別
    閱讀時間約 9 分鐘
    C#入門-Day5:運算符
    閱讀時間約 1 分鐘
    C#入門-Day6:流程控制
    閱讀時間約 4 分鐘
    C#入門-Day7:函數
    閱讀時間約 14 分鐘
    C#入門-Day8:物件導向
    閱讀時間約 16 分鐘
    C#入門-Day9:例外處理
    閱讀時間約 3 分鐘
    你可能也想看
    2024 虛擬實境 x 人因設計 05unity C#語法教學入門_2完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
    Thumbnail
    avatar
    Gavin Hsieh
    2024-04-24
    C計算(一)高中數學主題練習—C計算(一)
    Thumbnail
    avatar
    WilliamP
    2024-04-07
    提升效率!在C#輸入資訊時自動切換中文輸入法的兩種方法在進行資訊輸入的過程中,經常需要在不同語言的文字之間切換輸入法,這可能會影響效率。不過,透過程式設計的方法,我們可以實現在選取到需要輸入中文的輸入框時自動切換到中文輸入法,讓操作更加便利。在這篇文章中,我們將介紹兩種實現自動切換中文輸入法的方法,一種是切換輸入法,另一種是使用IME輸入法。
    Thumbnail
    avatar
    Pochi
    2024-02-02
    C當我的自營工作室客源開始穩定時,C就這樣悄悄走進我的生命裡,至今為止,我和C從來沒有吵架過,連一點點的不愉快、疙瘩甚至懷疑都沒有,對我而言,C的意義只有美好。她總是希望我過得好,我也祝福她永遠快樂。     我的租屋處是一棟由五樓透天隔間的大套房,而我就住在頂樓,旁邊還有一間空房一直沒人承租
    Thumbnail
    avatar
    小倖
    2024-01-12
    [C#] 讀取和寫入JSON文件JSON(JavaScript Object Notation)是一種常用的數據交換格式,用於在不同的應用程序之間傳遞結構化數據。在C#中,我們可以使用Newtonsoft.Json模組來處理JSON資料。
    Thumbnail
    avatar
    Pochi
    2023-08-14
    【入門級】-C#介紹一、C#介紹 二、為什麼要學C# 三、.NET Framework介紹
    Thumbnail
    avatar
    橙果杏
    2023-03-19
    C發洩完情緒之後,內心裡,總會有一種抒坦。是那種放下的感覺,是那種,什麼都好,都可以不重要,只有自己的那種,唯我獨尊的快感。可以不必再在意些什麼,不必再掙扎著去要求些什麼。唯有放寛心了,才能更真實去體驗自己正在經歷的過程。放下些什麼,才能獲得些什麼。 昨晚,C因為工作無法前來陪伴休假的我。經前症候群嚴
    Thumbnail
    avatar
    霍普
    2022-11-17
    Untiy C# | Input 官方的輸入偵測這篇文章將會介紹官方設置好的偵測玩家輸入,在撰寫遊戲程式的時候肯定需要偵測玩家輸入,其實並不需要自行撰寫程式來監控玩家操作,而是直接調閱官方的資料庫即可。
    Thumbnail
    avatar
    瓶裝雪
    2022-07-29
    C語言 輸入、輸出(input/output I/O)前言 輸出 printf 格式控制字元、格式控制符(format char) 前言 輸出控制字元、輸出控制符 轉義字元、轉義符 格式控制字元、格式控制符 輸入 scanf gets gets與scanf差異
    Thumbnail
    avatar
    Caffeine 咖啡因
    2022-07-07