自学笔记二:C#语法基础 数据类型之值类型
来源:互联网 发布:windows 更改用户账户 编辑:程序博客网 时间:2024/06/05 16:37
在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;
- 自学笔记二:C#语法基础 数据类型之值类型
- 自学笔记三:C#语法基础 数据类型之引用类型
- 自学笔记一:C#语法基础 类
- C++学习笔记之二(C++语法基础之变量和数据类型)
- C#基础学习笔记--数据类型,值类型,结构类型,枚举类型
- 自学Python之 基础语法
- 【Unity3D自学记录】C#语法笔记
- C#的数据类型之值类型
- C#类型及基础语法
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- Python自学(二):基础类型
- C#之基础语法
- POJ1611 The Suspects 种类并查集
- Linux vim安装YouCompleteMe插件
- 【HDU】6016
- 文章标题
- SwaggerUI ASP.Net WebAPI2
- 自学笔记二:C#语法基础 数据类型之值类型
- 消除HTML网页顶部的一行空白方法(火狐显示正常,谷歌head与body之间有未知代码)
- 第一次安装Ubuntu的曲折日记
- [Array]485. Max Consecutive Ones
- stringstream
- 打造黑苹果(一)组装硬件的选择与组装
- struct usb_hcd
- 奇怪的排序
- 【机器学习实战-python3】基于概率论的分类方法:朴素贝叶斯