请问一下这两个有什么区别啊。
我知道 s[1] 返回的是char类型,s.Substring(1,1)返回的是string类型,还有其他区别么。
谢谢!

解决方案 »

  1.   

    如果你的s是string型的,那会s[1]返回的也是string,不是chars.substring(1,1)取的是s字符串中从1开始的长度取1个的字符串
    而你的s[1]是取数组中第一个元素
    没有可比性
      

  2.   

                        类型     长度          长度范围
    s[1]                chrar     1            1
    s.Substring(1,1)    string    1         0<=L<=s.Length
      

  3.   

    string s="abc"
    s[2] 返回位置在2的一个char
      

  4.   


    那会s[1]返回的也是string,不是char???确定吗?
      

  5.   

    知道结果一样的就行,至于机理,反编译下Framework试试看
      

  6.   


    s.substring(1,1)取的是s字符串中从1开始的长度取1个的字符串 长度不变,
      

  7.   

    Substring涉及了一些计算操作,还需要返回新字符串,速度慢
    s[1]相当于c里面的*(s+1)
    差距很大