我知道的转换成字符串的两种方式:
1、obj.toString()
2、Convert.toString(obj)
为什么很多时候必须使用Convert而不能直接使用toString呢,比如:DataReader["ID"].toString就会出错!
另外简单变量类型还会用到这样的转换方式:(int)obj,这些转换方式究竟有什么本质的区别呢?奉送一个问题:我想将字符串str="1101   工资账户"取前6位,并且去掉空格,使用语句:str.substring(1,6).trimend 就会报错,为什么?

解决方案 »

  1.   

    1)前提是你确保obj!= null;
    2)obj是null也没关系,得到的结果也是null这大概算是根本的区别。
    欢迎大家来我的博客作客:http://blog.csdn.net/aafshzj/
    我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。
      

  2.   

    后面一个问题的答案在于str.substring(0,6).trimend1-〉0就可以,因为C#的数组索引是从0开始的。
      

  3.   

    substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如,strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
      

  4.   

    str.Substring(1,6);其中Substring的S要大写
      

  5.   

    1)前提是你确保obj!= null;
    2)obj是null也没关系,得到的结果也是null这大概算是根本的区别。
    学习拉
      

  6.   

    各位还是没有说清楚。比如DataReader["ID"].ToString可以肯定不是null,但是调试时会报错。
    问题好像不复杂,咋就没有人能说清楚呢?《C#从入门到精通》这本书也没有讲过这个问题,郁闷