c#基本数据类型及其默认值

时间:2022-05-29 17:26:17

//值类型

C# 类型      .NET Framework 类型

bool            System.Boolean               

4Byte 32bit布尔型变量  逻辑值,true或者false,默认值为false

byte           System.Byte                

1Byte 8bit无符号整数无符号的字节,所存储的值的范围是0~255,默认值为0

sbyte        System.SByte 1Byte

8bit有符号整数带符号的字节,所存储的值的范围是-128~127,默认值为0

char          System.Char 

2Byte 16bit 无符号Unicode字符,默认值为’/0’

decimal      System.Decimal

16Byte 128bit十进制数不遵守四舍五入规则的十进制数,28个有效数字,通常用于财务方面的计算,默认值为0.0m

double       System.Double

8Byte 64bit双精度的浮点类型,默认值为0.0d

float         System.Single

4Byte 32bit单精度的浮点类型,默认值为0.0f

int            System.Int32

4Byte 32bit有符号整数,默认值为0

uint          System.UInt32

4Byte 32bit无符号整数,默认值为0

long         System.Int64

8Byte 64bit有符号整数,默认值为0

ulong        System.UInt64

8Byte 64bit无符号整数,默认值为0

object       System.Object

指向类实例的引用,默认值为null

short        System.Int16

2Byte 16bit有符号整数,默认值为0

ushort       System.UInt16

2Byte 16bit无符号整数,默认值为0

string       System.String

指向字符串对象的引用,默认值为null

//引用类型

引用类型的变量又称为对象,可存储对实际数据的引用。本节介绍以下用于声明引用类型的关键字:

·                        class

C++ 不同,C# 中仅允许单个继承。也就是说,类只能从一个基类继承实现。但是,一个类可以实现一个以上的接口。

一个类可包含下列成员的声明:

构造函数析构函数常数字段方法属性索引器运算符事件委托接口结构

只有嵌套类允许访问级别protected private

·                        interface

      接口只包含方法委托事件的签名,它是一个完全抽象的成员集合,它不是类,与基类有着本质的区别。方法的实现是在实现接口的类中完成的

      接口可以是命名空间或类的成员,并且可以包含下列成员的签名:方法属性索引器事件

一个接口可从一个或多个基接口继承。

当基类型列表包含基类和接口时,基类必须是列表中的第一项。

实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。

·                        delegate

      委托类型声明的格式如下:

public delegate void TestDelegate(string message);

delegate关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托类似于 C++中的函数指针;但是,委托是类型安全和可靠的。

委托是事件的基础。

通过将委托与命名方法或匿名方法关联,可以实例化委托。

以下为内置引用类型:

·                        object

      object 类型在 .NET Framework 中是 Object 的别名。在 C# 的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。可以将任何类型的值赋给 object 类型的变量。将值类型的变量转换为对象的过程称为“装箱”(Boxed)。将对象类型的变量转换为值类型的过程称为“取消装箱”。

·                        string

string 类型表示零或更多 Unicode 字符组成的序列。string 是 .NET Framework 中 String 的别名。

尽管 string 是引用类型,但定义相等运算符(== 和 !=)是为了比较 string 对象(而不是引用)的值。这使得对字符串相等性的测试更为直观。c#基本数据类型及其默认值