(string)15; 常用于隐式转换为基, 如: (Object)15; 或自己的基类:
public B : A
{}
A a = (A)B;

解决方案 »

  1.   

    System.String 与 数字类型(int, double ...) 无法进行类型转换必须“解析”int age=15;
    // string myage=(string)15;
    // ->
    string myage= 15.ToString();
      

  2.   

    (string)age;//只能是age与string“兼容”时才能转换,比如int->double,double>int,或是有继承关系的。
    age.ToString()//是从Object继承而来,每个类都有ToString(),如果子类中重写的这个函数则会执行子类的ToString(),很显然int是重写了这个方法,如果没有重写则回执行Object.ToString(),它是直接将对象的类型名作为输出的。
    建议你在转换类型时首先考虑第一种形式,如果不行在使用ToString()