跳至頁尾內容
.NET 幫助

C# 類型(開發者如何理解)

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

C#基礎知識

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

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

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

C# 中的預定義資料型別

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

以下是一些例子:

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

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

C# 中的預設值

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

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

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

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

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都指向同一個記憶體位置。 如果我們更改person1person2也會反映出這項改變:

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

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# 中的數組是"引用類型",因此在變數中所做的更改會影響引用相同數組的任何其他變數。

使用 IronPDF 在 C# 中產生 PDF

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 核心程式碼庫的最初開發者,他自公司成立之初便參與塑造了其產品架構,並與執行長 Cameron Rimington 一起將其發展成為一家擁有 50 多名員工、服務於 NASA、特斯拉和全球政府機構的公司。

Jacob 於 1998 年至 2001 年在曼徹斯特大學獲得土木工程一級榮譽學士學位。 1999 年,他在倫敦創辦了自己的第一家軟體公司;2005 年,他創建了自己的第一個 .NET 元件。此後,他專注於解決微軟生態系統中的複雜問題。

他的旗艦產品 IronPDF 和 IronSuite .NET 庫在全球 NuGet 上的安裝量已超過 3000 萬次,其基礎程式碼持續為全球開發者工具提供支援。憑藉 25 年的商業經驗和 41 年的程式設計專長,Jacob 始終致力於推動企業級 C#、Java 和 Python PDF 技術的創新,同時指導下一代技術領導者。