c#基础---数据类型
来源:互联网 发布:开盘数据恢复成功率 编辑:程序博客网 时间:2024/05/20 01:38
在C#语言中,符合公共语言规范(CLS)的数据类型可分为两类:值类型和引用类型。这两者有很大的区别,其中值类型变量直接保存变量的值,引用类型的变量保存的是数据的引用地址。当把一个值变量赋给另一个值变量,会在堆栈中保存两个完全相同的值,每个变量都有自己的值,因此对一个变量的操作不会影响到其他变量;而把一个引用变量赋给另一个引用变量,则会在堆栈中保存对同一堆位置的两个引用,对一个变量的数据进行操作就是对这个变量在堆栈中的数据进行操作,另一个变量也跟着改变。
1、值类型
(1)整型
Console. Write("请输入圆的半径值:");
R=double.Parse(Console. ReadLine( ));
分析:ReadLine读入一行字符串,Parse方法就把string转换为其他基本类型。用double调用该方法就把string转换成double类型。
还有可以用ToString将数据转换为字符串,例如:
(2)字符类型
位(两字节),C#中单个汉字也可以作为字符来使用,如:
字符类型char代表的是System.Char结构,每声明一个char类型的变量,就创建了
System.Char结构的变量。整数类型不能隐式被转换为字符类型char,例如char c1=10是
错误的,必须写成:char c1=(char)10;
(3)实数类型(浮点型)
C#提供了3种实数类型:单精度类型(float)、双精度类型(double)和十进制小数类型(decimal)。
C#默认的字面上的实数是double类型,要声明float和decimal类型,还需要在小数后面加上后缀F和M,例如:1.2;
(4)布尔类型
布尔类型(bool )表示布尔逻辑量,取值只能是true或者false,表示“真”和“假” 这两个概念。
C#中的bool类型对应于System.Boolean结构。虽然只有两个取值,但它占4个字节。布尔类型和其他数值之间不存在任何对应关系。不能认为整数0是false,其他值是true。bool x=1 是错误的。
(5)枚举类型
枚举类型也一种复合值类型,主要用于表示一组逻辑上相关联的项的组合,使用关键字enmu来定义。
enum Weekday { Sunday,Monday, Tuesday,Wednesday, Thursday, Friday,Saturday };
Weekday w1;
w1=Weekday.Monday;
2、引用类型
引用类型包括类(class)、接口(interface)、委托(delegate)和数组(array)。引用类型的变量也叫对象。
(1)一维数组
一维数组的定义需要指明数组元素的类型和数组的名称,如定义一个整数数组:
int[ ]
动态初始化:
使用new对数组进行初始化:数组名=new 数据类型[数组长度]。事实上一般都是把数组的定义和初始化合在一起的,例如:
int[ ] array1;
array1 =new int[3];
array1[0]=2;array1[1]=3;array1[2]=5;
或者在声明数组时,同时进行初始化: int[ ] array1=new int[ ]{ 2,3,5 }
数组中,常用的一个属性是Length,它表示数组的长度。例如:int a=array.Length
静态初始化:
int[ ] array1={ 2,3,5 }
(2)多维数组
定义多维数组是通过方括号中的逗号来划分数组的维数,如定义二维数组:
int[ , ] a = new int[3, 4];
对多维数组进行初始化并同时赋值的写法为:
int[ , ] a=new int[ , ]{ {0, 1, 2, 3 },
还可以简写为:int[ , ] a={ {0,1, 2, 3 },{ 2, 3, 4, 5 },{ 3, 4, 5, 6 } };
(2)字符串
C#中定义了一个string字符串类,该类也在命名空间System中的,是System.String类的别名。
● 字符串定义
● 字符串搜索
【注意】由于C#中采用Unicde字符集编码,因此每个英文字母和汉字占两个字节,在计算字符串长度时,每个英文字母和汉字的长度都为1。
● 字符串比较函数
● 判断是否为空字符串
● 得到子字符串或字符
● 字符串删除函数
● 字符串替换函数
● 插入字符串
● 把字符串转换为字符数组
● 其他数据类型转换为字符串
● 大小写转换
● 删除所有的空格
3、类型转换
(1)隐式转换
(2)显式转换
(int) 3.14
(3)装箱和拆箱转换
a、装箱转换
下面两条语句就执行了装箱转换:
int k=100;
首先声明整型变量k并赋值,然后再创建一个object 类的对象obj,并将k的值复制给obj。在执行装箱转换时,也可以使用显式转换,如:
int k=100;
b、拆箱转换
object obj=228;
上述语句执行时,首先会检查obj 对象的值是否为给定值类型的装箱值,由于obj 值为228,值类型为整型,满足拆箱转换的条件,然后将obj 的值复制给整型变量k。
拆箱转换必须要执行显示转换,这是它与装箱转换的不同之处。
float f = 228.56f;
object obj = f;
int k = (int)obj;
以上拆箱过程就不成功。
- C#数据类型变量基础
- c#数据类型基础
- C#基础--之数据类型
- c#数据类型基础
- c#基础---数据类型
- c#数据类型基础
- C#基础--之数据类型
- C#数据类型基础
- C#基础--之数据类型
- C#基础-----数据类型
- C#基础-----复杂数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础--之数据类型
- C#基础-数据类型
- C#基础-数据类型转换
- C#基础-数据类型
- C#基础数据类型
- ubuntu下文件拷贝命令cp命令
- 利用函数申请内存的几个问题
- ubuntu安装/卸载软件的基本命令
- Windows 下搭建Objective-C 开发环境
- 回首过去的那些事儿(3)
- c#基础---数据类型
- ubuntu终端命令
- ARM Linux Boot Sequence
- .net 连接 SAP for NCO3.0(三)
- Ubuntu中网页各种插件安装命令
- Ubuntu下的实用命令
- 获取设备当前连接的WIFI信息(No Private API)
- PHP中GD库的使用
- 使用tar命令备份Ubuntu系统