自学笔记二:C#语法基础 数据类型之值类型

在C#中,符合公共语言规范的数据类型可分成2类:值类型和引用类型

值类型保护简单值类型和复合值类型。最简单值类型可以再细分为整数类型、字符类型、实数类型和布尔类型;而复合值类型则是简单值类型的复合,它包括结构(struct)类型和枚举(enum)类型。

示例:


1、整数类型

sbyte  有符号8位整数

byte    无符号8位整数

short  有符号16位整数

unshort 无符号16位整数

int 有符号32位整数

uint 无符号32位整数

long 有符号64位整数

ulnong 无符号64位整数

2、字符类型

字符是计算机文字信息处理的基本单位,它包括单个字母、数字、标点符号以及特殊的控制字符。

对字符型变量的申明和赋值很简单,如:

char x='a';

注意,表示字符时要用单引号括起来,而如果用了双引号,C#编译器则认为它是字符串(string)类型。

3、实数类型

C#提供3种类型:单精度类型(float)、双精度类型(double)和十进制小数类型(decimal)

采用默认的小数格式书写实数的是double类型。要申明float和decimal类型,还需要在小数后面加上后缀F和M,如:

double x=1.2;

float y=1.2F;

decimal z=1.2M;

4、布尔类型

布尔类型(bool)表示布尔逻辑,取值只能是true或false;分别表示真和假;

申明实例:bool b1=true; bool b2=false;

5、结构类型

实际生活中的对象通常更为复杂,很难用一个简单类型就能把它描述清楚,而是需要用多个简单值类型的组合,比如,通讯录中记录的每一个联系人可以包含项目、电话和地址等内容,把一系列相关的信息组织成为一个单一的实体的过程,就是创建一个结构的过程,结构类型采用关键字struct进行定义,其中可以包含0个或者任意多个成员的定义。例如,对联系人结构Contact的定义:


struct Contact

{

string m_name;

int m_age;

string m_telephone;

public struct Address

{

  public  string m_city;

  public string m_street;

  public int m_number;

}

public Address m_address;

}


使用该结构要申明一个Contact类型的变量:

public Contact c1; //为结构的成员添加public修饰符 才能访问它的成员

这里c1就表示一个Contact的结构类型的变量。 

c1.m_address.m_city;//对结构成员的访问可以通过圆点链接符“.”进行。

注意:结构类型包含的成员类型是没有限制的,可以使简单值类型,也可以是结构类型和枚举类型,还可以使各种引用类型。

6、枚举类型

枚举类型是另一种复合类型,和结构类型不同的是,枚举类型要求成员只能是整数类型。枚举类型主要用于表示一组逻辑上相关联的项的组合,使用关键字enum来定义,例如:可以定义一个代表星期的枚举类型Weekday,其中成员分布表示星期日~星期六;

enum Weekday{ sunday,monday,tuesday, wednessday,thursday,friday, saturday}

特别需要注意的是:结构类型是由一组不同类型的成员所组成的新的数据类型,结构类型的变量包含了所有成员的值;而枚举类型只是列举出各个成员,枚举类型的变量在某一时刻只能去其中某个成员的值。例如:Weekday类型的变量用于日期的星期表示,在一个时刻只能代表一个星期中的某一天(如星期二),而不能同时既是星期二又是星期三,对枚举成员的访问同样采用圆点符号“.”进行,只不过不是通过枚举类型的变量,而是通过枚举类型的名称。

Weekday w1;

w1=Weekday.monday;


如果不指定,那么C#编译器默认枚举中的第一个元素对于的整数值为0;其后面每个元素的值依次递增1,当然也可以再定义枚举时直接指定元素的整数值,比如把星期天的值设为1,则气候的元素依次为2到7

enum Weekday{ sunday=1,monday,tuesday, wednessday,thursday,friday, saturday}

有趣的是,为枚举类型的变量赋值可以不限定在范围之内,如下面的语句也是合法的:

w1=(Weekday) 200;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值