CSharp基础 专题
专题目录
您的位置:csharp > CSharp基础 专题 > C#数据类型
C#数据类型
作者:--    发布时间:2019-11-20

数据类型指定变量可以存储的数据的类型,如:整数,浮点,字符等。

c# 语言中有3种类型的数据类型。如下表中所示 -

类型 数据类型
值数据类型 int, char, float, boolean
引用数据类型 字符串,类,对象和接口
指针数据类型 指针

值数据类型

值数据类型是基于整数和基于浮点数。 c# 语言支持有符号和无符号文字值。

c# 语言中有两种类型的值数据类型。

  • 预定义的数据类型 - 如整型,布尔型,浮点型等
  • 用户定义的数据类型 - 如结构,枚举等

数据类型的内存大小可能会根据32位或64位操作系统而不同。我们来看看值数据类型。它的大小根据32位操作系统给出。

数据类型 内存大小 范围
char 1 byte -128 to 127
signed char 1 byte -128 to 127
unsigned char 1 byte 0 to 127
short 2 byte -32,768 to 32,767
signed short 2 byte -32,768 to 32,767
unsigned short 2 byte 0 to 32,767
int 2 byte -32,768 to 32,767
signed int 2 byte -32,768 to 32,767
unsigned int 2 byte 0 to 32,767
short int 2 byte -32,768 to 32,767
signed short int 2 byte -32,768 to 32,767
unsigned short int 2 byte 0 to 32,767
long int 4 byte
signed long int 4 byte
unsigned long int 4 byte
float 4 byte
double 8 byte
long double 10 byte -

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

using system;
namespace datatypeapplication
{
   class program 
   {
      static void main(string[] args)
      {
         console.writeline("size of double: {0}", sizeof(double));
         console.readline();
      }
   }
}

当编译和执行上述代码时,会产生以下结果:

size of double: 8

引用数据类型

引用数据类型不包含存储在变量中的实际数据,但它们包含对变量的引用。如果一个变量的数据值被更改,则这个变量将自动反映该值的变化。

c# 语言中有两种类型的引用数据类型。

  • 预定义类型 - 如对象,字符串。
  • 用户定义的类型 - 如类,接口。

内置引用类型的示例有:objectdynamicstring

对象类型
对象类型是 c# 通用类型系统(cts)中所有数据类型的最终基类。

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

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

动态类型

可以在动态数据类型变量中存储任何类型的值。这些类型的变量的类型检查在运行时进行。
声明动态类型的语法是:

dynamic <variable_name> = value;

例如,

dynamic d = 20;

字符串类型

字符串类型允许为变量分配任何字符串值。string类型是system.string类的别名。 它是从object类型派生的。可以使用两种形式的字符串文字来分配字符串类型的值:quoted@quoted

示例

string str = "h3 point";

@quoted字符串文字如下所示:

string str = "h3 point";

指针数据类型

c# 语言中的指针是变量,也称为定位符或指示符,指向值的地址。

指针中使用的符号

符号 名称 说明
& 地址运算符 获取变量的地址
* 间接运算符 访问地址的值

声明一个指针

c# 语言中的指针可以使用*(星号符号)声明。

int * a;  //pointer to int      
char * c; //pointer to char

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册