.NET 帮助

C# 数据类型(开发人员工作原理)

发布 2023年十一月22日
分享:

在使用 C# 等编程语言时,了解 数据类型 至关重要。就像在现实世界中,我们有各种容器来存储不同类型的物品一样,在编程中,我们使用数据类型来指定我们存储的数据类型。简单地说,数据类型指定存储在内存位置的**实际数据类型。

什么是数据类型?

在 C# 中,数据类型可以理解为我们在程序中存储数据的分类。这些分类有助于确保以正确的方式存储正确的数据类型。就像选择正确的罐子来存储饼干或香料一样;罐子是为保证其内容的安全和可访问性而量身定制的。

数据类型主要有两大类:

  1. 值数据类型:它们存储实际数据。值类型存储在内存的堆栈区域,其默认值根据类型设置。值类型的例子包括int类型,它存储一个整数作为值。

  2. 参考数据类型:它们不包含存储在变量中的实际数据,而是包含对数据内存位置的引用。实际引用类型位于内存堆区域,其默认值

为什么数据类型很重要?

了解数据类型就像了解 C# 的构件。就像在 C 语言中一样,C# 中的数据类型确保:

  • 分配适当数量的内存。
  • 有效存储**实际数据。

  • 数据可安全检索,不会丢失或误读。

预定义数据类型

预定义数据类型(也称为内置数据类型)是使我们能够在程序中执行各种操作和存储各种形式数据的基本组件。它们是 C# 的基础,因为它们提供了创建可存储值的变量的方法。

数字类型

整数类型

这些值类型用于存储正负整数。它们又分为

  • **Int 数据类型 (int type)代表 32 位有符号整数。
  • 短数据类型: 表示 16 位有符号整数。
  • 长数据类型: 表示 64 位有符号整数。
  • 字节数据类型: 表示 8 位无符号整数。

  • 字节数据类型: 表示 8 位带符号整数,允许负数。
int number = 100;
short smallNumber = 200;
long largeNumber = 300L;
byte positiveNumber = 255;
sbyte negativeNumber = -100;
int number = 100;
short smallNumber = 200;
long largeNumber = 300L;
byte positiveNumber = 255;
sbyte negativeNumber = -100;
Dim number As Integer = 100
Dim smallNumber As Short = 200
Dim largeNumber As Long = 300L
Dim positiveNumber As Byte = 255
Dim negativeNumber As SByte = -100
VB   C#

浮点类型

这些值类型包括带小数点的数或浮点数。

  • 浮点类型: 表示单精度浮点类型。适用于不需要完全双精度的数值。
  • Double 类型: 代表双精度浮点类型。它允许比浮点更高的精度。
float floatValue = 10.5f;
double doubleValue = 20.55;
float floatValue = 10.5f;
double doubleValue = 20.55;
Dim floatValue As Single = 10.5F
Dim doubleValue As Double = 20.55
VB   C#

十进制类型

十进制类型专为金融和货币计算而设计,具有 28 位精度,非常适合需要高精度的计算。

decimal money = 100.50m;
decimal money = 100.50m;
Dim money As Decimal = 100.50D
VB   C#

文本类型

字符数据类型 (字符类型)

用于存储单个字符,如字母、数字或特殊字符。

char letter = 'A';
char letter = 'A';
Dim letter As Char = "A"c
VB   C#

字符串数据类型 (字符串类型)

C# 中的字符串数据类型表示字符序列。它以 String 为基础,用途非常广泛。

string name = "John";
string name = "John";
Dim name As String = "John"
VB   C#

其他预定义类型

Bool 数据类型

代表布尔值,可以是 truefalse

bool isTrue = true;
bool isTrue = true;
Dim isTrue As Boolean = True
VB   C#

对象类型

所有其他类型的最终基类。它可以指代任何其他类型的对象。

object obj = "This is a string";
object obj = "This is a string";
Dim obj As Object = "This is a string"
VB   C#

动态类型

一种绕过编译时类型检查的类型。它在运行时确定,灵活性更高,但安全性较低。

dynamic anything = 10;
dynamic anything = 10;
'INSTANT VB NOTE: 'Option Strict Off' is used here since dynamic typing is used:
Option Strict Off

'INSTANT VB NOTE: In the following line, Instant VB substituted 'Object' for 'dynamic' - this will work in VB with Option Strict Off:
Dim anything As Object = 10
VB   C#

预定义参考类型

除上述值类型外,还有一些预定义的引用类型,包括

  • 类类型: 定义对象的蓝图。
  • 接口类型: 定义了类可以实现的契约。

  • 数组类型: 可创建数组,即同一类型的项目集合。

内置转换

C# 还提供不同预定义数据类型之间的内置转换。例如,您可以将 int 转换为 float 而不会丢失信息。

默认值

每个值数据类型都有一个默认值,如果没有给定值,就会分配一个默认值。例如,"bool "数据类型的默认值是 "false",而引用类型的默认值是 "null"。

C&num 中用户定义的数据类型;

除了预定义类型外,C# 还提供了定义数据类型(即用户定义类型)的灵活性。这些用户自定义类型由程序员创建和定义,以创建适合其特定需求的结构。这些类型包括

结构类型

适用于小型数据结构。它允许你将不同的数据类型归类到一个变量名下。它在 C# 中的定义如下

public struct Point {
    public int X;
    public int Y;
}
public struct Point {
    public int X;
    public int Y;
}
Public Structure Point
	Public X As Integer
	Public Y As Integer
End Structure
VB   C#

枚举类型

枚举是一组命名的常量,代表基本的积分值。

enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
Friend Enum Days
	Sun
	Mon
	Tue
	Wed
	Thu
	Fri
	Sat
End Enum
VB   C#

用户定义的参考类型

类类型、接口类型、数组类型和委托类型:这些都是引用类型,更加高级,但同样重要。

  • 类类型: 可以将数据和方法封装在一个单元中。
  • 接口类型: 它们定义了类类型必须实现的一组方法。它就像一个指南,指导你如何构建一个类类型。
  • 数组类型: 一种数据结构,用于存储固定大小的相同数据类型的元素集合。
  • 委托类型: 一种表示方法引用的类型。

指针数据类型

虽然 C# 是一种高级语言,通常会对内存管理进行抽象,但它确实为需要直接操作内存地址的特定任务提供了指针数据类型。不过,您需要使用不安全代码块来使用指针数据类型。

unsafe
{
    int var = 10;
    int* p = &var;  // Address operator to get memory address
}
unsafe
{
    int var = 10;
    int* p = &var;  // Address operator to get memory address
}
'INSTANT VB TODO TASK: C# 'unsafe' code is not converted by Instant VB:
'unsafe
'{
'	int var = 10;
'	int* p = &var; ' Address operator to get memory address
'}
VB   C#

表格概览

下表**列出了一些主要值和引用数据类型及使用示例,以作简要概述:

C# 数据类型(开发人员如何使用) 图 1 - 数据类型表

介绍铁套件,为 C&num 提供动力;

虽然了解 C# 中的数据类型为稳健编程奠定了基础,但使用功能强大的工具可以显著改善您的编码体验。Iron Suite 就是这些工具中的一例,它专为开发人员设计,旨在增强您的能力、加快开发进程并简化复杂任务。

IronPDF 您的 PDF 操作解决方案

IronPDF 是在 C# 项目中处理 PDF 文档时不可或缺的工具。该工具可以从 HTML、图像和 ASPX 网页表单生成 PDF。这就好比在 C&num 中处理字符串数据类型;

轻松操作 IronXL Excel

如果没有合适的工具,用 C# 处理 Excel 文件可能会令人生畏。这就是 IronXL 步骤。IronXL 允许开发人员读取、写入和创建 Excel 电子表格,而无需 Interop。有了 IronXL,处理 Excel 数据就像在 C&num 中处理整数或浮点数一样直观;

IronOCR 轻松将图像转化为代码

结合光学字符识别技术 (光学字符识别) 在您的应用中,需要一个强大而精确的工具。 IronOCR 正是如此。通过 IronOCR,您可以读取图像、扫描文档或 PDF 中的文本和条形码,并将其转化为可操作的数据。它消除了手动数据输入和潜在错误,提供了一种简化的内容数字化方式。

IronBarcode 改变你处理条形码的方式

条形码无处不在,能够在 C# 应用程序中生成或读取条形码对许多行业都至关重要。 IronBarcode 为您的所有条码需求提供了一个全面的套件。无论您是为产品创建条形码、扫描条形码进行数据检索,还是将条形码与库存系统集成,IronBarcode 都能满足您的需求。

结论

Iron Suite 拥有一系列功能强大的工具,包括 IronPDF、IronXL、IronOCR 和 IronBarcode,是任何 C# 开发人员的宝贵财富。就像 C&num 中的预定义数据类型一样,Iron Suite 也是一个强大的工具;

更吸引人的是,"钢铁套装 "中的每个产品都提供了一个 免费试用,让您无需立即投资即可探索和体验这些工具。如果您发现这些工具对您的项目至关重要,那么许可证价格仅为 $749。在一项独家优惠中,您只需支付两个单个工具的价格,即可购买完整的 Iron Suite。

< 前一页
C# AS(开发人员是如何工作的)
下一步 >
C# 真或假(开发人员如何使用)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >