C#中,StringBuilder弥补了string在赋值时开辟新空间不足之处。

StringBuilder类型变量会初始化一段长度,供后续对该变量进行增加。当然也可以手动定义其长度

StringBuilder builder = new StringBuilder(10);

其缺点是需要较为精确估算出StringBuilder类型变量的长度,否则若在使用中实际builder长度超出了定义的长度,会自动开辟一段新的StringBuilder空间,并将原先的数据赋值给新的空间,旧的地址就变成了垃圾。

在处理如下案例时,StringBuilder就体现了其比string强大的特性

StringBuilder builder = new StringBuilder(10);
for (int i = 1; i < 10; i++)
{builder.Append(i); // 0123456789
}

整个操作都是在一处内存地址,提高了内存利用率。在Unity实际开发时也有很大的用处

实例方法

单词反转 Hello world => world Hello

private static StringBuilder t3(string str)
{string[] str2 = str.Split(' ');StringBuilder builder = new StringBuilder(str.Length);for (int i = str2.Length - 1; i >= 0; i--){builder.Append(str2[i]);if (i != 0)builder.Append(" ");}return builder;
}// 调用
Console.WriteLine(t3("Hello world")); // world Hello

字符串反转 Hello world => dlrow olleH

private static StringBuilder t4(string str)
{StringBuilder builder = new StringBuilder(str.Length);for (int i = str.Length - 1; i >= 0; i--)builder.Append(str[i]);return builder;
}// 调用
Console.WriteLine(t4("Hello world")); // dlrow olleH

字符串查重 Hello world => Helo wrd

private static StringBuilder t5(string str)
{StringBuilder builder = new StringBuilder(str.Length);builder.Append(str[0]);for (int i = 1; i < str.Length; i++){for(int j = 0; j < builder.Length; j ++){if (str[i] == builder[j]) break;if (j == builder.Length - 1) builder.Append(str[i]);}}return builder;
}// 调用
Console.WriteLine(t5("Hello world")); // Helo wrd

[C#] StringBuilder简介及使用方法相关推荐

  1. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略

    Database之SQL:SQL之over partition by开窗函数的简介.使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略 目录 over part ...

  2. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

  3. ML之ME/LF:机器学习之风控业务中常用模型评估指标PSI(人群偏移度指标)的的简介、使用方法、案例应用之详细攻略

    ML之ME/LF:机器学习之风控业务中常用模型评估指标PSI(人群偏移度指标)的的简介.使用方法.案例应用之详细攻略 目录 PSI(稳定度指标)的简介 1.如何计算PSI? (1).PSI计算过程

  4. Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略

    Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介.使用方法.经典案例之详细攻略 目录 *args和**kwargs(设计不同数量的参数函数)的简介 1 ...

  5. Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...

  6. Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)

    Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化.箱型图/散点图.小提琴图/散点图组合可视化的简介.使用方法之最强攻略(建议收藏) 目录 二.组合图可视 ...

  7. Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略

    Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介.使用方法之详细攻略 目录 matplotlib.pyplot的plt.legend函数的简 ...

  8. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

  9. Python语言学习之lambda:lambda函数的简介、使用方法、案例大全之详细攻略

    Python语言学习之lambda:lambda函数的简介.使用方法.案例大全之详细攻略 目录 lambda函数的简介 1.lambda匿名函数的格式 2.lambda函数特点 3.lambda函数与 ...

最新文章

  1. 70.打印所有Spring boot载入的bean【从零开始学Spring Boot】
  2. javascript判断数组是否包含了指定的元素
  3. 搭建eclipse版的ssm+maven+tk.mybatis+redis及mybatis+spring多数据源配置集成的demo
  4. Linux性能评测工具之一:gprof篇
  5. 工作闲了觉得无聊,忙了觉得累......
  6. c语言t0中断方式编程,PIC C语言编程_PICC中断函数的实现
  7. fx系列微型可编程控制器 通信_西门子系列资料(64本电子书+PLC视频+软件),整理了很久...
  8. GANs(生成对抗网络)简介与案例
  9. Android商品详情页上拉查看详情
  10. waves dsp服务器系统盘,Waves 插件个人经验谈(下)
  11. php表格 单元格,实例演示PhpSpreadsheet的单元格设置教程
  12. colab运行在本地
  13. 99乘法表带颜色HTML隔行变色,javascript小实例,实现99乘法表及隔行变色
  14. vue {{}}中小数保留几位小数的toFixed(小数位数)方法
  15. 为什么 128 KB 的魂斗罗可以塞下这么长的剧情?
  16. SpringMVC @GetMapping注解路径冲突问题
  17. 如何启动Android SDK 1.5模拟器
  18. 实际上Ubuntu在你最起初配置完系统以后,是无法访问root类型的操作的(下面详解),ubuntu系统网络设置方法(图文)
  19. 推荐一位 10w+ 粉丝的 Python 工程师
  20. 1030 习题3-1 计算国民生产总值增长倍数

热门文章

  1. mysql 多表查询计算平均_MYSQL多表查询
  2. 智慧城市可视化管理系统
  3. 运维坑到底能不能入?千万不要......
  4. 土壤PH值传感器 农业中土壤环境监测
  5. 【前端笔记】三、前后端通信(http协议和Ajax)
  6. NSArray的使用
  7. 计算机英语ADD全称,Add-Computer
  8. python提取图片中的文字自动填表_如何 提取图片中的文字?这款Python 库 4行代码搞定!...
  9. DuDuTalk智慧门店,助力汽车门店全链路数字化转型
  10. 当n趋向于无限大时,n的0.1次方和logn谁大