java String 与 .net string 的区别?深入点讲.

解决方案 »

  1.   

    java中只有String 没有stringstring是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色)
    c# string映射为.net Framework的String
    如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作
    如果使用c#,建议使用string,比较符合规范
    string始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表System.String
    string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以.
      

  2.   

    个人认为对于String这种怪异的类型什么语言都不会有好的处理办法,无非是相同的字符串用同一块内存,字符串发生变化就要重新申请一块内存来存取,或者申请一“大”块内存作为缓冲,比如StringBuffer
      

  3.   

    个人觉得java的substring还是不错的,如果concat也这样就好了,可以直接释放子串的内存空间至于.net很多抄袭java,又不开源,也不知道改了算法没有,重在会用,深入不了,不讨论也罢