C#中的变量分为以下类型-
值类型变量可以直接赋值,它们派生自System.ValueType类,例如int、char和float,它们分别存储数字、字母和浮点数。声明int类型时,系统会分配内存来存储值。
Type | Represents | Range | Default Value |
---|---|---|---|
bool | 布尔值 | True or False | False |
byte | 8位无符号整数 | 0 to 255 | 0 |
char | 16位Unicode字符 | U +0000 to U +ffff | '\0' |
decimal | 具有28-29个有效数字的128位精确十进制值 | (-7.9 x 1028 to 7.9 x 1028) /100 to 28 | 0.0M |
double | 64位双精度浮点类型 | (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 | 0.0D |
float | 32位单精度浮点类型 | -3.4 x 1038 to + 3.4 x 1038 | 0.0F |
int | 32位有符号整数类型 | -2,147,483,648 to 2,147,483,647 | 0 |
long | 64位有符号整数类型 | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0L |
sbyte | 8位有符号整数类型 | -128 to 127 | 0 |
short | 16位有符号整数类型 | -32,768 to 32,767 | 0 |
uint | 32位无符号整数类型 | 0 to 4,294,967,295 | 0 |
ulong | 64位无符号整数类型 | 0 to 18,446,744,073,709,551,615 | 0 |
ushort | 16位无符号整数类型 | 0 to 65,535 | 0 |
若要获取特定平台上的类型或变量的确切大小,可以使用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;
动态类型与对象类型类似,不同之处在于对象类型变量的类型检查在编译时进行,而动态类型变量的类型检查在运行时进行。
字符串类型允许您将任何字符串值分配给变量,字符串类型是System.String类的别名,它是从对象类型派生的,可以使用两种形式的字符串文字来分配字符串类型的值:带引号和@引号。
链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/csharp-data-types.html
来源:LearnFk无涯教程网
例如,
String str = "Learnfk Point";
@带引号的字符串文字如下所示:-
@"Learnfk Point";
用户定义的引用类型有:类、接口或委托。无涯教程将在后面的章节中讨论这些类型。
指针类型变量存储另一类型的内存地址,C#中的指针与C或C+中的指针具有相同的功能。
声明指针类型的语法是-
type* identifier;
例如,
char* cptr; int* iptr;
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)