基础_C# 数据类型、默认值、new关键字、格式化数值结果表

C# 数据类型、默认值、new关键字、格式化数值结果表

数据类型概述

数据类型可描述为:

内置类型表

 

C# 类型.NET Framework 类型

bool

System.Boolean

byte

System.Byte

sbyte

System.SByte

char

System.Char

decimal

System.Decimal

double

System.Double

float

System.Single

int

System.Int32

uint

System.UInt32

long

System.Int64

ulong

System.UInt64

object

System.Object

short

System.Int16

ushort

System.UInt16

string

System.String

 

默认值表

请记住:在 C# 中不允许使用未初始化的变量。
下表显示了由默认构造函数返回的值类型的默认值。默认构造函数是通过 new 运算符来调用的

 

 

值类型 默认值

bool

false

byte

0

char

'/0'

decimal

0.0M

double

0.0D

enum

表达式 (E)0 产生的值,其中 E 为 enum 标识符。

float

0.0F

int

0

long

0L

sbyte

0

short

0

struct

将所有的值类型字段设置为默认值并将所有的引用类型字段设置为 null 时产生的值。

uint

0

ulong

0

ushort

0

 

格式化数值结果表

 

C 或 c

货币

Console.Write("{0:C}", 2.5);

Console.Write("{0:C}", -2.5);

$2.50

($2.50)

D 或 d

十进制数

Console.Write("{0:D5}", 25);

00025

E 或 e

科学型

Console.Write("{0:E}", 250000);

2.500000E+005

F 或 f

固定点

Console.Write("{0:F2}", 25);

Console.Write("{0:F0}", 25);

25.00

25

G 或 g

常规

Console.Write("{0:G}", 2.5);

2.5

N 或 n

数字

Console.Write("{0:N}", 2500000);

2,500,000.00

X 或 x

十六进制

Console.Write("{0:X}", 250);

Console.Write("{0:X}", 0xffff);

FA

FFFF

 

new 关键字

int myInt = new int(); 相当于 int myInt = 0;

Point p = new Point(); //此调用后,该结构被认为已被明确赋值;也就是说该结构的所有成员均已初始化为各自的默认值。

在 C# 中,new 关键字可用作运算符、修饰符或约束。

  • 用于创建对象和调用构造函数。例如:Class1 o  = new Class1();
  • new 运算符还用于调用值类型的默认构造函数。例如:int i = new int();

  • 在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。参见

  • new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数.参见

请记住,为结构声明默认的构造函数是错误的,因为每一个值类型都隐式具有一个公共的默认构造函数。可以在结构类型上声明参数化构造函数以设置其初始值,但是,只有在需要默认值之外的值时才必须这样做。

值类型对象(例如结构)是在堆栈上创建的,而引用类型对象(例如类)是在堆上创建的。两种类型的对象都是自动销毁的,但是,基于值类型的对象是在超出范围时销毁,而基于引用类型的对象则是在对该对象的最后一个引用被移除之后在某个不确定的时间销毁。对于占用固定资源(例如大量内存、文件句柄或网络连接)的引用类型,有时需要使用确定性终止以确保对象被尽快销毁。有关更多信息,请参见 using 语句(C# 参考)

不能重载 new 运算符。

如果 new 运算符分配内存失败,将引发异常 OutOfMemoryException。

 

值类型
值类型主要由两类组成:结构 枚举

结构分为以下几类:
Numeric(数值)类型 整型 浮点型 decimal bool 用户定义的结构。

值类型的主要功能
基于值类型的变量直接包含值。将一个值类型变量赋给另一个值类型变量时,将复制包含的值。
与引用类型不同,从值类型不可能派生出新的类型。但与引用类型相同的是,结构也可以实现接口。
与引用类型不同,值类型不可能包含 null 值。然而,可空类型功能允许将 null 赋给值类型。
每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值

引用类型

 

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

 

 以下内置引用类型:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值