int expr = 3;string strI = (string)expr;     // 抛出异常
string strII = expr.ToString(); // 结果为 "3"这是两码事,所以无法比较其性能。

解决方案 »

  1.   

    一般肯定是用ToString()吧,
    强制转换应该用在其它的对象上吧,
    比如(TextBox)sender
      

  2.   

    int iexpr = 3;//string strexpr = (string)iexpr;     // 编译通不过,因为int是值类型的object expr = (object)iexpr; // 装箱为引用类型//string strexpr = (string)expr;  //  抛出异常,因为expr的真实类型不是string类型
    // strexpr = expr.ToString();    // 结果为"3",相当于调用int的ToString()方法.expr = iexpr.ToString(); //  取得3的字符串并用object类型指向,并没有装箱
    string strexpr = expr;// 结果为 "3",因为expr的真实类型为字符串,可以转换