.NET 帮助

C# 类型(如何为开发人员工作)

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2023年六月20日
分享:

在任何编程语言中,了解数据类型都是至关重要的,C#也不例外。 无论是 int 类型还是浮点类型,每种类型都持有特定类型的信息,也就是实际数据。

C# 基础知识

C# 是一种强类型语言。 您可能会问,什么是强类型语言? 这意味着每个变量和对象都必须有一个声明的数据类型。 并且数据类型决定了您可以在该变量中存储什么类型的数据。

C#有两大数据类型值类型和引用类型。这些也是你可能听说过的用户自定义类型。

C# 中的值类型

在C#中,值类型是简单的。 当您声明一个值类型变量时,存储的实际数据是您分配给该变量的值。 如果您更改一个变量的值,它不会影响任何其他变量。

C# 中最常见的值类型包括

  • 整数(由 int 类型表示)
  • 浮点数(由 "浮点类型和双类型 "代表)
  • 布尔值,要么为真,要么为假。

    让我们先讨论一下int类型。(n)C# 中的 int 类型是一种 32 位数据类型,可以存储从 -2,147,483,648 到 2,147,483,647 的整数。下面是一个示例

int myInteger = 15;
int myInteger = 15;

现在,谈到浮点类型。 在C#中,有两种浮点类型:floatdouble

float 类型是一个 32 位浮点数,精度可达 7 位数字。 它非常适合科学计算。 一个 float 类型的变量可以这样声明:

float myFloat = 12.34F;
float myFloat = 12.34F;

double 类型是一个具有 64 位浮点类型,精度可达 15 到 16 位数字。 它比float类型更精确,通常用于财务和货币计算。 这是一个 double 类型变量的示例:

double myDouble = 12.3456789;
double myDouble = 12.3456789;

C# 预定义数据类型

好的,继续。 C# 提供了多种“预定义数据类型”,可供在您的应用程序中使用。 这些是用于定义“用户自定义类型”的基本构建块。

下面是几个例子:

  • byte:这是一个8位无符号整数,范围从0到255。
  • char:这是一个16位Unicode字符。
  • decimal: 由于其高精度,非常适合“财务和货币计算”。
  • bool: 存储“true”或“false”,非常适合逻辑运算。

    每种“预定义数据类型”都有其自身的用途和“默认值”,因此选择适合您需求的正确类型非常重要。!

C#中的默认值

在C#中,每种数据类型都有一个默认值。 对于值类型变量,如果不初始化,它们会自动采用默认值。

例如,int 类型的默认值是 0,浮点数值类型的默认值是(浮点数或双数)是 0.0。

引用类型的默认值是null,表示它没有引用任何对象。

C# 中的类型转换

有时,您可能需要将一种数据类型转换为另一种。 这被称为类型转换,C#支持两种转换:隐式转换和显式转换。

当您将一种类型的值分配给可以容纳更大值的兼容类型的变量时,隐式转换会自动发生。 例如,您可以分配一个(n)在不丢失信息的情况下,将 int 类型转换为 double 类型。

int myInt = 10;
double myDouble = myInt;                // Implicit conversion
int myInt = 10;
double myDouble = 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

引用类型在C#中

在 C# 中,引用类型的工作方式与值类型有所不同。引用类型变量不是存储实际数据,而是存储值所在地址。 换句话说,它“引用”了内存中的另一个位置。

因此,如果更改引用类型对象,也会影响另一个变量。 这是因为引用类型变量会自动反映对其指向的内存地址中存储的实际数据所做的更改。

现在,这可能听起来有些复杂,但让我们通过一个例子来分解一下。 假设我们有一个名为 Person 的类:

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

然后,我们为该类创建两个 "引用类型 "变量:

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

在这里,person1person2 指向相同的内存位置。 如果我们更改 person1person2 将反映该更改:

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

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

要访问数组中的元素,需要使用索引,第一个元素从 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

请记住,C# 中的数组是 "引用类型",因此对一个变量所做的更改会影响引用同一数组的任何 "其他变量"。

使用 IronPDF 在 C# 中生成 PDF文件

IronPDF是一个强大的 C# 库,允许开发人员创建、编辑和提取 PDF 内容。 这对于生成报告或创建动态发票等任务而言可能是一个救星。

IronPDF 入门

首先,您需要安装 IronPDF。 您可以通过 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");

上述代码将生成一个 PDF 文件,其中包含 "Hello, World!" 标题。 请注意,HTML代码只是一个字符串。 在C#中,字符串是一种引用类型,是C#中使用最频繁的类型之一。

C# 类型(开发人员如何使用) 图 1 - Hello World 文本

结论

祝贺! 您深入研究了C#类型的世界,了解值类型、引用类型、预定义数据类型以及它们如何影响您编写代码的方式。 您还看到了使用诸如IronPDF这样的库的强大功能,以及您对C#的掌握程度。

IronPDF 提供免费试用而 IronPDF 的许可证则从 $liteLicensing 开始。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
C# 数字类型(开发人员的工作方式)
下一步 >
C# 查找(开发人员如何使用)