NET基础(2):类型转换

  CLR最重要的特性之一就是类型安全的。在运行时,CLR总是知道对象的类型是什么。调用GetType()方法可以知道对象的确切类型,由于它是非虚方法,所以一个类型不可能伪装成另一种类型。每种编程语言都规定了开发人员具体如何进行这种转换操作。例如,C#不要求任何特殊语法即可将对象转换成他的基类型,因为向基类型转换是一种安全的类型转换。然而,将对象转换成他的某个派生类型时,C#要求开发人员只能进行显示转换,因为这种转换可能在运行时失败。一下代码演示了向基类型和派生类型的转换:

//该类型隐式派生字System.Object
internal class Employee
{
   ...
}

public sealed class Program
{
     public static void Main()
      {
              //不需要转型,因为New返回了一个Employee对象,
              //而Object是Employee的基类
              Object o = new Employee();

              //需要转型,因为Employee派生字Object,需要进行强制类型转换
              Employee e = (Employee)o;
      }
}

  

时间: 2024-07-30 21:46:07

NET基础(2):类型转换的相关文章

Java基础12 类型转换与多态(转载)

类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用.我们之前见过对象数据.类数据.方法参数.方法返回值以及方法内部的自动变量,它们都需要声明其类型.Java是一种强类型(strongly typing)语言,它会对类型进行检查.如果我们错误的使用类型,将造成错误. 比如在下面的Test类中,我们将一个Cup类对象赋予给aPerson类引用: public class Test{    public static void main(String[] ar

Java基础-数据类型转换

 1).简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时.  自动转换 当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算 而在方法调用时,实际参数较"小",而被调用的方法的形式参数数据又较"大"时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将"小"数据转换成&quo

c#基础和类型转换

//注释一行 命名空间(namespace firstDebug) 类( class Program) 主函数,一整个项目,有且只有一个主函数,它是程序的入口(static void Main(string[] args) 数据类型 变量名=值: int i=0: 或者分开写  int s:  s=1: 同时定义多个  int a,b,c;  b=3; double d=1.23d;---结尾加d表示为double类型   float f=1.23f;   decimal m=1.23m;  b

Java基础12 类型转换与多态

链接地址:http://www.cnblogs.com/vamei/archive/2013/04/01/2992662.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们之前使用类创造新的类型(type),并使用继承来便利我们创建类的过程.我将在这一讲中深入类型,并介绍多态(polymorphism)的概念. 类型检查 Java的任意变量和引用经过类型声明(type declaration),才能使用.我们之前见

15 Java语言基础数据类型转换之强制转换

public class Add{ public static void main(String[] args) { int x = 3; byte y = 4; y = (byte)(x + y); System.out.println(y); } } 大类型赋值给小类型,需要使用强制类型转换,强制类型转换可能会损失精度 强制类型转换的格式 小类型 小类型标识符 = (大类型) 大类型数值

【JS基础】类型转换——不同数据类型比较

小试牛刀 输出下列数据比较结果 [] == 0; //==============================================================true [] == false; //==========================================================true [] == undefined; //======================================================false

<java基础>数据类型转换 <5>

类型转换时将一个值从一种类型更改为另一种类型的过程.从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的.而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败.数据类型转换有两种方式,隐式类型转换和显式类型转换(//./*这两个符号代表注释):隐式类型转换:从低级类型向高级类型的转换,系统将自动执行,程序员无需进行任何操作,这种类型的转换称为隐式转换.当然不包括逻辑类型和字符类型,基本数据类型按精度从低到高排列为byte<short<int<long<

go语音基础之类型转换

1.类型转换 示例: package main //必须有一个main包 import "fmt" func main() { //这种不能转换的类型,叫不兼容类型 var flag bool flag = true fmt.Printf("flag = %t\n", flag) //bool类型不能转换为int //fmt.Printf("flag = %d\n", int(flag)) //0就是假,非0就是真 //整型也不能转换为bool

java基础:类型转换cast

一:例子 输出结果: Hachi true yellow 二:分析 Animal a = new Dog("Hachi","yellow"); 栈空间中创建引用a,指向堆中new出来的子对象Dog("Hachi","yellow"); a的实质就是一只Dog,a instanceof Dog返回True 但是a只能访问到Animal的属性.不能访问Dog的furColor属性 只有Dog d = (Dog) a; 另外创建一个

Java基础-基本数据类型转换案例

java基本数据类型八中 byte = Byte short = Short char = Character int = Integer long = Long float = Float double = Double boolean = Boolean 本文通过几个简单的转换关系连接顺序 运行一个实例查看输出结果 byte b = 'a'; short s = 'a'; char c = 'a'; int i = 5; long l = 5l; float f = 5.5f; double