IRONSOFTWAREHOME
開發者更新

C# 類型(開發者的工作原理)

Jacob Mellor,首席技術官 @ Team Iron
Jacob Mellor
Updated: 2026年4月23日

在任何編程語言中,理解資料型別至關重要,C#也不例外。 無論是int型別還是浮點型別,每個型別都包含特定種類的資訊,也就是實際資料。

The Basics of C#

C#是一種強型別語言。 但您可能會問,什麼是強型別語言呢? 這意味著每個變數和物件必須有一個聲明的資料型別。 而且正是資料型別決定了您可以在那個變數中儲存什麼樣的資料。

C#有兩大資料型別:值型別和引用型別。這些也是您可能聽說過的使用者自定義型別。

Value Types in C#

在C#中,值型別很簡單。 當您聲明一個值型別變數時,實際儲存的資料是您賦給變數的值。 如果改變一個變數的值,不會影響其他變數。

C#中最常見的值型別包括:

  • 整數(由int型別表示)
  • 浮點數(由double型別表示)
  • 布林值,可以為true或false

首先談談int型別是一個32位的資料型別,可以儲存從-2,147,483,648到2,147,483,647的整數。以下是一個例子:

int myInteger = 15;

現在,進入浮點型別。 在C#中,有兩種浮點型別:double。

float型別是一種32位浮點數,精確度可達7位數。 這對於科學計算非常有用。 可以這樣宣告一個float型別的變數:

float myFloat = 12.34F;

double型別是一種64位浮點型別,精確度可達15-16位數。 它比float型別更準確,常用於金融和貨幣計算中。 以下是一個double型別變數的例子:

double myDouble = 12.3456789;

Predefined Data Types in C#

好的,繼續。 C#提供了若干"預定義資料型別",可以在您的應用程式中使用。 這些是您可以用來定義自己的"使用者自定義型別"的基本組件。

這裡有幾個例子:

  • **byte:**這是一種8位無符號整數,範圍從0到255。
  • **char:**這是一個16位的Unicode字元。
  • **decimal:**因其高精度,適合金融和貨幣計算。
  • false,非常適合邏輯運算。

每一個"預定義資料型別"都有其目標和"預設值",因此選擇適合您需求的型別非常重要!

Default Values in C#

在C#中,每種資料型別都有預設值。 對於值型別變數,如果您不初始化它們,它們會自動取預設值。

例如,double)的預設值是0.0。

引用型別的預設值是null,表示它不引用任何物件。

Type Conversion in C#

有時,您可能需要將一種資料型別轉換為另一種。 這稱為型別轉換,而C#支持兩種:隱式轉換和顯式轉換。

隱式轉換會在您將一個型別的值賦給能儲存更大值的相容型別的變數時自動發生。 例如,您可以將double型別而無資訊丟失。

int myInt = 10;
double myDouble = myInt; // Implicit conversion

顯式轉換,也稱為轉換,需要您在嘗試在不相容型別之間轉換或從較大型別轉換為較小型別時執行。 它通過將目標型別放在要轉換的值之前加上括弧來完成。

double myDouble = 10.5; 
int myInt = (int)myDouble; // Explicit conversion, decimal part is lost

Reference Types in C#

C#中的引用型別工作方式與值型別有點不同。它們不是儲存實際資料,而是儲存數值被儲存的地址。 換句話說,它"引用"了記憶體中的另一個位置。

因此,如果您更改引用型別物件,它也會影響另一個變數。 這是因為引用型別變數會自動反映對其指向的記憶體地址上儲存的實際資料所作的更改。

聽起來可能有點複雜,但讓我們通過一個例子來理解。 假設我們有一個名為Person的類:

class Person
{
    public string Name { get; set; }
}

然後我們建立該類的兩個"引用型別"變數:

Person person1 = new Person { Name = "Alice" };
Person person2 = person1;

在這裡,person2都指向同一個記憶體位置。 如果我們改變person2將反映這一變化:

person1.Name = "Bob"; 
Console.WriteLine(person2.Name); // Outputs "Bob"

Arrays in C#

陣列是一種引用型別,可以儲存多個相同資料型別的值。 它就像一個容器,您可以在其中儲存一組同一型別的值。

要聲明一個陣列,首先指定其元素的資料型別,然後加上方括號。 然後使用new關鍵字來建立陣列並指定其長度。

int[] myIntArray = new int[5]; // Array of int type, can hold 5 values

要存取陣列的元素,請使用索引,從第0個元素開始。

myIntArray[0] = 10; // Sets the first element of the array to 10

請記住,C#中的陣列是"引用型別",因此在一個變數中進行的更改將影響任何引用同一陣列的"其他變數"。

Generating PDFs with IronPDF in C#

IronPDF是一個強大的C#程式庫,允許開發者建立、編輯和提取PDF中的內容。 這對於生成報告或建立動態發票等任務來說,絕對是救星。

IronPDF入門

首先,您需要安裝 IronPDF。 您可以透過NuGet,這是一個流行的.NET套件管理器來實現。 在您的套件管理控制台中運行以下命令:

PM > Install-Package IronPdf

從HTML建立PDF

IronPDF能夠從HTML建立PDF。 相當簡單:

using IronPdf;

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf");

以上程式碼將生成一個帶有"Hello, World!"標題的PDF。 注意,HTML程式碼僅僅是一個字串。 在C#中,字串是一種引用型別,並且是最常用的C#型別之一。

C# 型別 (開發人員如何工作) 圖1 - Hello World文字

結論

恭喜! 您深入了解了C#型別的世界,理解了值型別、引用型別、預定義資料型別,以及它們如何塑造您編寫程式碼的方式。 您還看到了使用像IronPDF這樣的程式庫的力量。

IronPDF提供免費試用,IronPDF的授權從$liteLicensing開始。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起