在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
在任何编程语言中,了解数据类型都是至关重要的,C#也不例外。 无论是int
类型还是浮点类型,每种类型都保存特定种类的信息,也称为实际数据。
C# 是一种强类型语言。 您可能会问,什么是强类型语言? 这意味着每个变量和对象都必须有一个声明的数据类型。 并且数据类型决定了您可以在该变量中存储什么类型的数据。
C# 有两种主要的数据类型:值类型和引用类型。这些也是您可能听到的用户定义类型。
在C#中,值类型是简单的。 当您声明一个值类型变量时,存储的实际数据是您分配给该变量的值。 如果您更改一个变量的值,它不会影响任何其他变量。
C# 中最常见的值类型包括
int
类型表示)布尔值,要么为真,要么为假。
我们先讨论int
类型。C#中的int
类型是一个32位的数据类型,可存储范围从-2,147,483,648到2,147,483,647的整数。下面是一个例子:
int myInteger = 15;
int myInteger = 15;
Dim myInteger As Integer = 15
现在,谈到浮点类型。 在 C# 中,有两种浮点类型:float
和 double
。
float
类型是一个32位的浮点数,精度可达7位数字。 它非常适合科学计算。 可以这样声明一个float
类型的变量:
float myFloat = 12.34F;
float myFloat = 12.34F;
Dim myFloat As Single = 12.34F
double 类型是一个具有 64 位浮点类型,精度可达 15 到 16 位数字。 它比float
类型更精确,通常用于财务和货币计算。 这是一个double
类型变量的示例:
double myDouble = 12.3456789;
double myDouble = 12.3456789;
Dim myDouble As Double = 12.3456789
好的,继续。 C# 提供了多种“预定义数据类型”,可供在您的应用程序中使用。 这些是用于定义“用户自定义类型”的基本构建块。
下面是几个例子:
byte
:这是一种8位无符号整数,范围从0到255。char
:它是一个16位的Unicode字符。decimal
:由于其高精度,非常适合用于“财务和货币计算”。bool
:存储“true”或“false”,非常适合逻辑操作。
每种“预定义数据类型”都有其特定用途和“默认值”,因此选择适合您需求的数据类型非常重要!
在C#中,每种数据类型都有一个默认值。 对于值类型变量,如果不初始化,它们会自动采用默认值。
例如,int 类型的默认值是 0,浮点值类型(float 或 double)的默认值是 0.0。
引用类型的默认值是null,表示它没有引用任何对象。
有时,您可能需要将一种数据类型转换为另一种。 这被称为类型转换,C#支持两种转换:隐式转换和显式转换。
当您将一种类型的值分配给可以容纳更大值的兼容类型的变量时,隐式转换会自动发生。 例如,您可以将int
类型赋值给double
类型而不会丢失信息。
int myInt = 10;
double myDouble = myInt; // Implicit conversion
int myInt = 10;
double myDouble = myInt; // Implicit conversion
Dim myInt As Integer = 10
Dim myDouble As Double = myInt ' Implicit conversion
显式转换,也称为强制转换,当你尝试在不兼容的类型之间进行转换,或从较大类型转换为较小类型时是必需的。 通过在要转换的值前面加上括号中的目标类型来完成。
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
Imports System
Dim myDouble As Double = 10.5
Dim myInt As Integer = CInt(Math.Truncate(myDouble)) ' Explicit conversion, decimal part is lost
在 C# 中,引用类型的工作方式与值类型有所不同。引用类型变量不是存储实际数据,而是存储值所在地址。 换句话说,它“引用”了内存中的另一个位置。
因此,如果更改引用类型对象,也会影响另一个变量。 这是因为引用类型变量会自动反映对其指向的内存地址中存储的实际数据所做的更改。
现在,这可能听起来有些复杂,但让我们通过一个例子来分解一下。 假设我们有一个名为Person
的类:
class Person
{
public string Name { get; set; }
}
class Person
{
public string Name { get; set; }
}
Friend Class Person
Public Property Name() As String
End Class
然后,我们为该类创建两个 "引用类型 "变量:
Person person1 = new Person { Name = "Alice" };
Person person2 = person1;
Person person1 = new Person { Name = "Alice" };
Person person2 = person1;
Dim person1 As New Person With {.Name = "Alice"}
Dim person2 As Person = person1
在这里,person1
和 person2
都指向相同的内存位置。 如果我们更改person1
,person2
将反映该更改:
person1.Name = "Bob";
Console.WriteLine(person2.Name); // Outputs "Bob"
person1.Name = "Bob";
Console.WriteLine(person2.Name); // Outputs "Bob"
person1.Name = "Bob"
Console.WriteLine(person2.Name) ' Outputs "Bob"
数组是一种引用类型,能够存储多个相同数据类型的值。 它就像一个容器,可以存储一组值,所有值都是相同类型。
要声明一个数组,首先指定其元素的数据类型,然后跟上方括号。 然后你使用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
Dim myIntArray(4) As Integer ' Array of int type, can hold 5 values
要访问数组中的元素,需要使用索引,第一个元素从 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
myIntArray (0) = 10 ' Sets the first element of the array to 10
请记住,C# 中的数组是 "引用类型",因此对一个变量所做的更改会影响引用同一数组的任何 "其他变量"。
IronPDF 是用于 C# 的强大库,允许开发人员创建、编辑和提取 PDF 的内容。 这对于生成报告或创建动态发票等任务而言可能是一个救星。
首先,您需要安装 IronPDF。 您可以通过 NuGet,这是一种流行的 .NET 包管理器,来实现这一点。 在包管理器控制台中运行以下命令:
Install-Package IronPdf
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");
Imports IronPdf
Private Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>").SaveAs("HelloWorld.pdf")
上述代码将生成一个带有“Hello, World!”标题的PDF。 请注意,HTML代码只是一个字符串。 在C#中,字符串是一种引用类型,是C#中使用最频繁的类型之一。
恭喜! 您深入研究了C#类型的世界,了解值类型、引用类型、预定义数据类型以及它们如何影响您编写代码的方式。 您还看到了使用诸如IronPDF这样的库的强大功能,以及您对C#的掌握程度。
IronPDF 提供免费试用,IronPDF 的许可证价格从$liteLicensing
起。