字符串String
首先要关注String,String没有看起来那么简单,什么是String呢?
String是一个UTF-16编码的文本
String是一个引用类型
String是不可变的
在C#里面,字符串是一个引用类型而不是一个值类型,即使看起来像是持有一个值类型对象并可以方便的修改,这里修改字符串是创建一个新的字符串。通常建议使用StringBuilder来拼接字符串,下面看看不同行为的拼接字符串带来的性能差异吧。
public class MonoTest : MonoBehaviour {
const int SIZE = 1024;
void Update () {
_UpdateStringAppend();
_UpdateStringFormat();
_UpdateStringBuild();
}
string _UpdateStringAppend() {
string str = string.Empty;
for (int i = 0; i < SIZE; ++i) {
str += i;
}
return str;
}
string _UpdateStringFormat() {
string str = string.Empty;
for (int i = 0; i < SIZE; ++i) {
str += string.Format("{0}", i);
}
return str;
}
string _UpdateStringBuild() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < SIZE; ++i) {
sb.Append(i);
}
return sb.ToString();
}
}