String、StringBuilder和char[]

1. StringBuilder

初始化

StringBuilder sb = new StringBuilder("ABC", 50);

sb.Append(new char[] { ‘D‘, ‘E‘, ‘F‘ });

sb.AppendFormat("GHI{0}{1}", ‘J‘, ‘k‘);

Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());

sb.Insert(0, "Alphabet: ");

sb.Replace(‘k‘, ‘K‘);

Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());

2.StringBuilder与string的不同

string是编译器特殊优化的类型。虽然是引用类型,但却储存在栈中。其中string表示值的property为char[],这个property是个只读类型,因此string类型内容无法修改,只能重置其指向的地址。

如果要修改string类型,只能通过StringBuilder类型。修改后在转换为string输出。

或者说更原始一点,用char[]来修改,最后通过构造函数赋给string。

3.string和char[]的不同

string是引用类型,无法与char[]直接转换。string其中表示值的部分为:

public char this[int index]{get;}

char a=str[0];//可以get

String、StringBuilder和char[]

上一篇:链表反转


下一篇:023、if 和 while 练习