C# - 数据类型

C# - 数据类型 首页 / C#入门教程 / C# - 数据类型

C#中的变量分为以下类型-

  • Value types           -  (值类型)
  • Reference types   -  (引用类型)
  • Pointer types        -  (指针类型)

值类型

值类型变量可以直接赋值,它们派生自System.ValueType类,例如int、char和float,它们分别存储数字、字母和浮点数。声明int类型时,系统会分配内存来存储值。

TypeRepresentsRangeDefault Value
bool布尔值True or FalseFalse
byte8位无符号整数0 to 2550
char16位Unicode字符U +0000 to U +ffff'\0'
decimal具有28-29个有效数字的128位精确十进制值(-7.9 x 1028 to 7.9 x 1028) /100 to 280.0M
double64位双精度浮点类型(+/-)5.0 x 10-324 to (+/-)1.7 x 103080.0D
float32位单精度浮点类型-3.4 x 1038 to + 3.4 x 10380.0F
int32位有符号整数类型-2,147,483,648 to 2,147,483,6470
long64位有符号整数类型-9,223,372,036,854,775,808 to 9,223,372,036,854,775,8070L
sbyte8位有符号整数类型-128 to 1270
short16位有符号整数类型-32,768 to 32,7670
uint32位无符号整数类型0 to 4,294,967,2950
ulong64位无符号整数类型0 to 18,446,744,073,709,551,6150
ushort16位无符号整数类型0 to 65,5350

若要获取特定平台上的类型或变量的确切大小,可以使用sizeof方法。表达式sizeof(Type)产生对象或类型的存储大小(以字节为单位)。以下是获取int类型大小的示例

using System;

namespace DataTypeApplication {
   class Program {
      static void Main(string[] args) {
         Console.WriteLine("Size of int: {0}", sizeof(int));
         Console.ReadLine();
      }
   }
}

编译并执行上述代码时,将生成以下输出-

Size of int: 4

引用类型

引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。

对象类型

对象类型是C#通用类型系统(CTS)中所有数据类型的最终基类,Object是System.Object类的别名,可以为对象类型分配其他任何类型,值类型,引用类型,预定义或用户定义类型的值,但是,在分配值之前,它需要类型转换。

当值类型转换为对象类型时,它称为装箱;另一方面,当对象类型转换为值类型时,它称为解箱。

object obj;
obj = 100; //this is boxing

动态类型

可以在动态数据类型变量中存储任何类型的值,这些类型变量的类型检查在运行时进行。

声明动态类型的语法是-

dynamic <variable_name>=value;

例如,

dynamic d = 20;

动态类型与对象类型类似,不同之处在于对象类型变量的类型检查在编译时进行,而动态类型变量的类型检查在运行时进行。

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/csharp-data-types.html

来源:LearnFk无涯教程网

字符串类型

字符串类型允许您将任何字符串值分配给变量,字符串类型是System.String类的别名,它是从对象类型派生的,可以使用两种形式的字符串文字来分配字符串类型的值:带引号和@引号。

例如,

String str = "Learnfk Point";

@带引号的字符串文字如下所示:-

@"Learnfk Point";

用户定义的引用类型有:类、接口或委托。无涯教程将在后面的章节中讨论这些类型。

指针类型

指针类型变量存储另一类型的内存地址,C#中的指针与C或C+中的指针具有相同的功能。

声明指针类型的语法是-

type* identifier;

例如,

char* cptr;
int* iptr;

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Web协议详解与抓包实战 -〔陶辉〕

编辑训练营 -〔总编室〕

To B市场品牌实战课 -〔曹林〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

跟着高手学复盘 -〔张鹏〕

大厂设计进阶实战课 -〔小乔〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

Rust 语言从入门到实战 -〔唐刚〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)