.NET 帮助

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

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

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

什么是数据类型?

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

数据类型主要有两大类:

  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 Type: 表示双精度浮点类型。 它允许比浮动更精确的翻译。
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 类型)

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

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#

其他预定义类型

布尔 "数据类型

代表一个布尔值,要么是 "true",要么是 "false"。

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#中

除了预定义类型外,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 - 数据类型表

介绍 Iron Suite 为 C# 提供动力

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

IronPDF 您的 PDF 操作解决方案

IronPdf C# PDF 操作工具当您需要在 C# 项目中处理 PDF 文档时,《PDF Converter》是不可或缺的工具。 该工具可从 HTML、图像和 ASPX 网页表单生成 PDF。 这可以被视为类似于在 C# 中处理字符串数据类型。

IronXL.Excel 操作简易版

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

IronOCR 轻松将图像转化为代码

加入光学字符识别功能(光学字符识别)在您的应用程序中,需要一个强大而精确的工具。 用于 C# 中 OCR 任务的 IronOCR 库我们的翻译恰恰能做到这一点。 使用 IronOCR,您可以读取图像、扫描文档或 PDF 中的文本和 BarCode,将其转化为可操作的数据。 它消除了手动数据录入和潜在错误,提供了一种将内容数字化的简化方法。

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

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

结论

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

更吸引人的是,Iron Suite 的每个产品都提供了一个免费试用 Iron Software Tools此外,译文还应让您能够在没有任何直接投资的情况下探索和体验这些工具。 如果您认为这些工具对您的项目至关重要,则只需从 $749 开始获得许可。 在一项独家优惠中,您只需花两个单个工具的价格就可以购买全套 Iron Suite。

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

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >