跳過到頁腳內容
.NET幫助

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

在任何程式語言中,理解資料類型至關重要,C# 也不例外。 無論是 int 類型還是浮點類型,每種類型都保存著特定類型的信息,也稱為實際數據。

The Basics of C

C# 是一種強型別語言。 你可能會問,強類型語言到底是什麼意思? 這意味著每個變數和物件都必須聲明資料類型。 資料類型決定了你可以在該變數中儲存什麼類型的資料。

C# 有兩種主要資料類型:值型別和參考型別。這些也是您可能聽說過的用戶自訂類型。

Value Types in C

在 C# 中,值類型很簡單。 宣告值類型變數時,實際儲存的資料是你指派給該變數的值。 如果改變一個變數的值,不會影響其他任何變數。

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

  • 整數(以 int 型表示)
  • 浮點數(由 floatdouble 型表示)
  • 布林值,只有真或假兩種情況

我們先來談談 int 型。在 C# 中,int 類型是一種 32 位元資料類型,可以儲存從 -2,147,483,648 到 2,147,483,647 的整數。例如:

int myInteger = 15;
int myInteger = 15;
$vbLabelText   $csharpLabel

接下來,我們來看看浮點類型。 在 C# 中,有兩種​​浮點類型:floatdouble

float 類型為 32 位元浮點數,精確度最高可達 7 位元。 它非常適合科學計算。 可以這樣宣告一個 float 類型的變數:

float myFloat = 12.34F;
float myFloat = 12.34F;
$vbLabelText   $csharpLabel

double 類型是 64 位元浮點類型,精度可達 15-16 位元。 它比 float 類型更準確,常用於財務和貨幣計算。 以下是一個 double 類型變數的範例:

double myDouble = 12.3456789;
double myDouble = 12.3456789;
$vbLabelText   $csharpLabel

Predefined Data Types in C

好了,我們繼續。 C# 提供了幾種"預定義資料類型",您可以在應用程式中使用它們。 這些是定義您自己的"用戶自訂類型"的基本建置模組。

以下是一些例子:

  • byte:這是一個 8 位元無符號整數,值範圍為 0 到 255。
  • char:這是一個 16 位元 Unicode 字元。
  • decimal:由於其高精度,非常適合用於金融和貨幣計算。
  • bool:儲存 truefalse,非常適合邏輯運算。

每一種"預先定義資料類型"都有其自身的用途和"預設值",因此根據您的需求選擇合適的資料類型非常重要!

Default Values in C

在 C# 中,每種資料類型都有一個預設值。 對於值類型變量,如果不進行初始化,它們會自動採用預設值。

例如,int 類型的預設值為 0,浮點值類型(floatdouble)的預設值為 0.0。

引用類型的預設值為 null,表示它沒有引用任何物件。

Type Conversion in C

有時,您可能需要將一種資料類型轉換為另一種資料類型。 這被稱為類型轉換,C# 支援兩種類型:隱式轉換和明確轉換。

當您將一種類型的值賦給可以容納更大值的相容類型的變數時,會自動發生隱式轉換。 例如,您可以將 int 類型指派給 double 類型,而不會遺失資訊。

int myInt = 10;
double myDouble = myInt; // Implicit conversion
int myInt = 10;
double myDouble = myInt; // Implicit conversion
$vbLabelText   $csharpLabel

當您嘗試在不相容的類型之間進行轉換,或從較大的類型轉換為較小的類型時,需要明確轉換(也稱為類型轉換)。 轉換方法是將目標類型放在要轉換的值前面的括號中。

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

Reference Types in C

C# 中的引用類型與值類型的工作方式略有不同。引用類型變數並非儲存實際數據,而是儲存值所在的位址。 換句話說,它"引用"了記憶體中的另一個位置。

因此,如果您變更引用類型對象,也會影響其他變數。 這是因為引用類型變數會自動反映對其指向的記憶體位址處儲存的實際資料所做的變更。

這聽起來可能有點複雜,但讓我們用一個例子來解釋一下。 假設我們有一個名為 Person 的類別:

class Person
{
    public string Name { get; set; }
}
class Person
{
    public string Name { get; set; }
}
$vbLabelText   $csharpLabel

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

Person person1 = new Person { Name = "Alice" };
Person person2 = person1;
Person person1 = new Person { Name = "Alice" };
Person person2 = person1;
$vbLabelText   $csharpLabel

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

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

Arrays in C

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

要宣告一個數組,首先要指定其元素的資料類型,然後加上括號。 然後使用 new 關鍵字建立陣列並指定其長度。

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

要存取數組的元素,可以使用索引,第一個元素從 0 開始。

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

請記住,C# 中的數組是"引用類型",因此在變數中所做的更改會影響引用相同數組的任何其他變數。

Generating PDFs with IronPDF in C

IronPDF是一個功能強大的 C# 庫,可讓開發人員建立、編輯 PDF 和從 PDF 中提取內容。 這對於產生報表或建立動態發票等任務來說,簡直是救星。

IronPDF入門指南

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

Install-Package IronPdf

從 HTML 建立 PDF

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

using IronPdf;

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

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

上述程式碼將產生一個標題為"Hello, World!"的 PDF 檔案。 請注意,HTML 程式碼實際上就是一個字串。 在 C# 中,字串是一種引用類型,也是 C# 中最常用的類型之一。

C# 類型(開發者如何理解)圖 1 - Hello World 文本

結論

恭喜! 你已經深入了解了 C# 類型的世界,理解了值類型、引用類型、預定義資料類型以及它們如何影響你編寫程式碼的方式。 您也已經見識到了使用IronPDF等函式庫的強大功能。

IronPDF提供免費試用, IronPDF許可證起價為 $liteLicensing

常見問題解答

C# 是強型別語言意味著什麼?

C# 是強型別語言,這意味著每個變數和物件都必須具有已宣告的資料型別,這決定了可以儲存什麼類型的資料。這在使用像 IronPDF 這樣的庫來處理資料時可確保型別安全和一致性。

怎樣在 C# 中將 HTML 轉換為 PDF?

您可以使用 IronPDF 的 RenderHtmlAsPdf 方法將 HTML 字符串轉換為 PDF。您還可以使用 RenderHtmlFileAsPdf 將 HTML 文件轉換為 PDF。

C# 中的值型別是什麼?

C# 中的值型別儲存分配給它們的實際資料。常見範例包括整數 (int)、浮點數 (floatdouble) 以及布林值 (bool)。這些型別在使用 IronPDF 進行資料處理任務時非常有用。

C# 中參考型別的目的何在?

C# 中的參考型別儲存實際資料在記憶體中的位置。這在使用像 IronPDF 這樣的庫中至關重要,因為如果它們引用相同的資料,改變一個變數就可能影響另一個變數。

如何在 C# 中進行隱式型別轉換?

C# 中的隱式型別轉換是在將一種型別的值分配給可以容納更大值的兼容型別時自動發生的。例如,將 int 轉換為 double 是自動完成的,這在使用 IronPDF 時可能會遇到。

您能舉一個 C# 中顯式型別轉換的例子嗎?

在 C# 中,當需要在不兼容型別之間進行轉換時,需要進行顯式型別轉換或強制轉換,例如將 double 轉換為 int。這是通過在值前將目標型別放在括號中來完成的,該方法也可以在使用 IronPDF 進行專門的資料處理時應用。

C# 中如何使用陣列?

C# 中的陣列是參考型別,可以儲存多個相同資料型別的值。您可以通過指定資料型別,然後括上方括號來宣告它們,並使用 new 關鍵字創建陣列並指定其長度。此概念在使用 IronPDF 管理大型資料集時非常有用。

如何在 C# 中使用庫從 HTML 創建 PDF?

IronPDF 是一個強大的 C# 庫,允許開發人員從 HTML 創建 PDF。通過使用 RenderHtmlAsPdf 等方法,您可以輕鬆直接從 HTML 內容生成 PDF。

在 C# 中使用 IronPDF 進行 PDF 操作的好處是什麼?

IronPDF 提供了一整套強大的功能,用於在 C# 中創建、編輯和從 PDF 中提取內容。它支持將 HTML 轉換為 PDF、添加頁眉和頁腳等,使其成為處理 PDF 文件的開發人員不可或缺的工具。

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

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me