又进入到了新的一周,现在到总结的时间了,继续为大家总结一下今天在云和学院所学的知识,
C#中字符串的处理,对象的引用及继承(Tenth day)
。理论:
StringBuilder 和 String 的区别
String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String;
如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来,
电脑资料
《C#中字符串的处理,对象的引用及继承(Tenth day)》(https://www.unjs.com)。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。对象的引用
int、decimal、bool、double byte 枚举结构等类型(值类型)是传递拷贝;对象(引用类型)则是传递引用。
方法间传递对象 String 引用类型 数组 类
结构如果写构造函数 那么就要把结构中所有的字段全部赋值
如果在结构中写了构造函数,那么 默认的构造函数还有,和类不同
在类中写了有参数的构造函数 ,无参数的构造函数直接被干掉了
并且 在类中的构造函数中 可以 不用把所有字段都赋值