C#基础——类型转换
来源:互联网 发布:js图片热点区域 编辑:程序博客网 时间:2024/05/17 04:01
C#基础——类型转换
1. 自动类型转换
//基本数据类型之间的自动类型转换
int i = 10;
double d = i;
//发生自动转换
//引用数据类型之间的自动类型转换
class Person { }
class Student : Person { }
Student stu = new Student();
Person person = stu;
//发生自动转换
2. 强制类型转换
double d = 10;
int i = (int) d;
//发生强制转换,此处会丢失数据精度
//引用数据类型之间的自动类型转换
class Person { }
class Student : Person { }
//Student 继承了Person类
Person person = new Student();
//父类引用指向子类对象
Student stu = (Student)person;
//发生强制转换
//对于引用类型的强制转换还可以是as关键字来实现,如:
Student stu = person as Student;
//发生强制转换
3. 不同类型与string之间的相互转换
1.字符串转换成基本数据类型
int i = int.Parse("10");
double d = double.Parse("10.5");
bool b = bool.Parse("true");
//注:很多初学者一直认为基本数据类型就像和Java一样,
//其实C#的所有基本数据类型都是结构(struct)类型,在
//C#中结构是允许有方法的,所有基本数据类型都有Parse方法
//xx.Parse()只是这种类型转换的一种方式,
//Convert类提供了很多更丰富的类型转换的方法,如:
int i = Convert.ToInt32("10");
bool b = Convert.ToBoolean("true");
DateTime time = Convert.ToDateTime("2000-2-2");
2.将原始值转换成string
//统一用ToString()方法即可
int i = 10;
double d = 10.5;
bool b = false;
string si = i.ToString();
string sd = d.ToString();
string sb = b.ToString();
4. as 类型转换与(xx)类型转换的区别
Student stu = (Student)person;
Student stu = person as Student;
以上两种方式都可实现类型的强制转换,但两者还是有很大的区别,主要有两点:
1. as 只能用在引用数据类型的转换,而(xx)可用在引用类型和值类型
2. as 在类型转换时如果转换不了将返回null值,而(xx)转换不了将直接报出异常(Exception)
- C#基础——类型转换
- 【C#基础】类型转换
- C#基础之类型转换
- c#基础入门(3)——异常、三元表达式、转义符、类型转换
- C#基础-类型强制转换,拆箱,装箱
- c#基础(三)----类型转换
- C#基础--转义符及类型转换
- C# 基础类型的快速转换
- C#学习——类型转换
- C# 编程指南——类型转换
- C#入门6.15——类型转换
- 温故而知新(1)——C#类型转换
- Java基础——类型转换
- java基础学习——类型转换
- 用户自定义类型与C#基础类型转换的方式
- C#基础——可空类型
- C#基础-010 数据类型转换 -隐式类型转换/强制类型转换
- 【C#编程基础学习笔记】4---Convert类型转换
- android Service(二) activity启动Service方式二:bindService()
- UVC 1.0 和 UVC 1.1的差别
- Android源码中增加模块
- asp实现语音上传
- POJ2342:Anniversary party(树形DP)
- C#基础——类型转换
- 使用FTP出现的3种常见错误
- 利用容器实现字符串的权值
- mvc与三层架构不得不说的秘密
- vlc的应用之九:用vlc串流摄像头
- 用VBS代码实现简单的场景恢复实例
- Square_hdu_1518(深搜)
- vector
- 中国不承认国际驾驶证