C#开发指导--类型(类型、变量、值)

看的是英文的MSDN,笔记用中文翻译--提醒自己要把英文和中文一起提高。

一个类型定义包含以下信息:

1)这个类型的变量所需的存储空间

2)此类型的变量能够表示的最大值最小值

3)此类型包含的成员(方法、域、事件等等)

4)此类型的父类型

5)在运行时,在内存中变量的指定位置

6)允许的操作符
一旦一个变量被声明了,它将不能被声明为另一个类型,或者不能指定的一个不能被自动转化为其类型的值。

C#中的数据类型由以下几种构成:

1)内置数据类型(build-in type),这些数据类型是System名字空间下的预定义类型的简称。其中除了object、string类型外,其它的都被归为简单数据类型。这些类型包括:

 

C# Type

.Net Framework Type

bool

System.Boolean

byte

System.Byte

sbyte

System.SByte

char

System.Char

decimal

System.Decimal

double

System.Double

float

System.Float

int

System.Int32

uint

System.UInt32

long

System.Int64

ulong

System.UInt64

object

System.Object

short

System.Int16

ushort

System.UInt16

string

System.String

即定义一个变量时,如下两种是相同的:

int x = 124;

System.Int32 x = 124;

用方法GetType()获取一个变量的类型,如下:

Console.WriteLine(myVariable.GetType());

2)集成的数据类型(integral type),由内置数据类型中的简单类型组成,包括如下几种:

Type

Range

Size

sbyte

-128 to 127

Signed 8-bit integer

byte

0 to 255

Unsigned 8-bit integer

char

U+0000 to U+ffff

Unicode 16-bit character

short

-32,768 to 32,767

Signed 16-bit integer

ushort

0 to 65,535

Unsigned 16-bit integer

int

-2,147,483,648 to 2,147,483,647

Signed 32-bit integer

uint

0 to 4,294,967,295

Unsigned 32-bit integer

long

-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

Signed 64-bit integer

ulong

0 to 18,446,744,073,709,551,615

Unsigned 64-bit integer

由上可以看出,integer类型的变量能够表示的最大值是由ulong类型的最大值决定的。

3)浮点类型数据

Type

Approximate range

Precision

float

±1.5e−45 to ±3.4e38

7 digits

double

±5.0e−324 to ±1.7e308

15-16 digits

4)默认值,C#是一个强类型的语言,不允许使用未初始化的变量。但是由1)中的表可以看出,简单数据类型中的有些是系统内的类型的简称,即如果用new操作符进行如下操作,变量就会有默认值了。(可以理解为new是操作对象的,一个new出一个对象后,在内存里面就为这个变量分配了一个存储区域)

int myInt = new int();<——>int myInt = 0

namespace TestType

{

    class Program

    {

        static void Main(string[] args)

        {

            bool flag ;

            System.Console.WriteLine(flag);

        }

    }

}

运行后,系统报错“flag”未被初始化。

namespace TestType

{

    class Program

    {

        static void Main(string[] args)

        {

            bool flag = new bool();

            System.Console.WriteLine(flag);

        }

    }

}

运行后,打印出:flase

new操作符后,默认值如下:

Value type

Default value

bool

false

byte

0

char

'/0'

decimal

0.0M

double

0.0D

enum

The value produced by the expression (E)0, where E is the enum identifier.

float

0.0F

int

0

long

0L

sbyte

0

short

0

struct

The value produced by setting all value-type fields to their default values and all reference-type fields to null.

uint

0

ulong

0

ushort

0

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值