09值类型、引用类型、字符串

值类型均隐式派生自 System.ValueType

数值类型、bool、结构、枚举
 

引用类型派生自 System.Object

字符串、数组、类、接口等

引用类型变量的赋值只复制对对象的引用

值类型变量赋值会拷贝一个副本

常用类库string

字符串不可变性,字符串的“暂存池”两个特性

String字符串,字符串可以看成字符数组,不可变性

StringBuilder

StringBuilder高效的字符串操作

当进行大量的字符串操作的时候,比如,很多次的字符串拼接操作。

String 对象是不可变得。每次使用  System.String 类中的一个方法时,都要在内存中创建一个新的字符串对象,这就需要为该对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常大。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuiler 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。

StringBuilder 仅仅是拼接字符串的工具,大多数情况下还需要把 StringBuilder 对象转换为 String

StringBuilder 的方法:

Append();//追加字符串

ToString();//把 StringBuilder 转换为字符串

Insert();

Replace();

ref与out

  1.   使用 ref 形参数时,传入的参数必须先被初始化。对于 out 而言,必须在方法中对其完成初始化。
  2. 使用 ref 和 out 是,在方法的参数和执行方法时,都要加 ref 或 out 关键字。以满足匹配。
  3. out 适合用在需要 return 多个返回值的地方,而 ref 则用在需要被调用的方法修改调用者的引用的时候

ref 可进可出,但是在进入前必须有初始值

out 只出不进(可以进),在方法中必须赋初值

原文地址:https://www.cnblogs.com/pirates/p/4550085.html