添加Lesson24
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
using System.Text;
|
||||
|
||||
namespace Lesson24_面向对象相关_StringBuilder
|
||||
{
|
||||
internal class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region 知识回归
|
||||
//string是一个比较特殊的引用类型
|
||||
//每次赋值或修改,都会创建一个新的堆内存
|
||||
//如果频繁修改字符串,会产生大量垃圾对象,影响性能
|
||||
#endregion
|
||||
|
||||
#region 知识点 StringBuilder
|
||||
//C#提供的一个用于处理字符串的公共类
|
||||
//主要解决的问题是:
|
||||
//修改字符串而不创建新的对象,需要频繁修改和拼接字符串可以使用他,可以提升性能
|
||||
//使用前 需要引用命名空间
|
||||
#endregion
|
||||
|
||||
#region 初始化 直接指明内容
|
||||
StringBuilder str = new StringBuilder("Hello");//初始化时可以指定容量 eg:设置100的容量StringBuilder str = new StringBuilder("Hello",100);
|
||||
Console.WriteLine(str);
|
||||
#endregion
|
||||
|
||||
#region 容量
|
||||
//StringBuilder存在一个容量的问题,每次往里添加内容时,如果超过了容量,就会自动扩容
|
||||
//获得容量
|
||||
Console.WriteLine(str.Capacity);
|
||||
//获得字符长度
|
||||
#endregion
|
||||
|
||||
#region 增删查改
|
||||
//增 Append
|
||||
str.Append(",World");
|
||||
Console.WriteLine(str);
|
||||
//增 AppendFormat
|
||||
str.AppendFormat("! I am {0}, age {1}", "Tom", 20);
|
||||
Console.WriteLine(str);
|
||||
//删 Remove
|
||||
str.Remove(5, 24);//从索引5开始删除6个字符
|
||||
Console.WriteLine(str);
|
||||
//查 ToString
|
||||
Console.WriteLine(str.ToString());
|
||||
//改 Replace
|
||||
str[0] = 'h';//通过索引修改单个字符
|
||||
Console.WriteLine(str);
|
||||
str.Replace("hello", "HELLO");//通过Replace修改字符串
|
||||
Console.WriteLine(str);
|
||||
//插 Insert
|
||||
str.Insert(5, ", C#");//在索引5处插入字符串
|
||||
Console.WriteLine(str);
|
||||
//清空 Clear
|
||||
str.Clear();
|
||||
Console.WriteLine(str);
|
||||
|
||||
//stringbuilder的其他方法
|
||||
//Equals
|
||||
if(str.Equals("hello"))
|
||||
{
|
||||
Console.WriteLine("相等");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("不相等");
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user