C#整理——类型转换

一:隐式转换(bool 和string 类型没有隐式转换)

理解:不需要编写代码来实现转换的转换:如 int i=100; long j=i;

数值类型的隐式转换条件:任何类型A,只要其取值范围完全包含在类型B的取值范围内,就可以隐式转换为类型B。

二:显示转换

1,数值类型的显示转换:long i=100;int j=(int )i;   但要注意如果i的值超出int的取值范围就会得到一个与预想不同的值;

2,数值类型与字符串类型,数值类型与字符类型,字符串与字符数组,字符串与字节数组的转换靠调用方法(如 int i=123;string str=i.tostring());

三:类与类之间的转换之重载转换运算符(C#入门经典284页);

四:用抽象类来调用其派生类的方法时,必须进行类型转换

如:

public abstract class Animal
{
   public void Feed()
  {
      console.writeline("feed");
  }
}

public class Chicken : Animal
{
     public void LayEgg()
    {

    }
}
Animal  an=new Chicken();
an.Feed();//这是对的;
an.LayEgg()//这是错的;
((Chicken)an).LayEgg();//这是对的

 

 

 

posted @ 2013-07-21 22:48  liaojinpiao  阅读(172)  评论(0编辑  收藏  举报