本文介绍: c# 学习笔记 – StringBuilder
1. 介绍
1.1 基本介绍
类结构
StringBuilder官方参考文档:StringBuilder类
1.2 深层细节
2. 构造和属性
2.1 StringBuilder 构造
相关构造方法
class Test {
static void Main() {
int capacity = 20; // 建议容量
int maxCapacity = 2000;
string? str = "hello, world";
StringBuilder s1 = new StringBuilder(); // 默认起始容量为16
StringBuilder s2 = new StringBuilder(capacity);
StringBuilder s3 = new StringBuilder(str); // 若为null --> 空字符串, 默认起始容量为字符串长度
StringBuilder s4 = new StringBuilder(capacity, maxCapacity); // 若capacity == 0 --> capacity自动转换为maxCapacity
StringBuilder s5 = new StringBuilder(str, capacity); // 若 str 长度 大于capacity, 则初始capacity长度等于str的长度
StringBuilder s6 = new StringBuilder(capacity, maxCapacity);
int startIndex = 1, length = str.Length - 1;
StringBuilder s7 = new StringBuilder(str, startIndex, length, capacity);
}
}
2.2 StringBuilder 属性
- public int Capacity { get; set; } ==> 当前存储容量
- public char this[int index] { get; set; } ==> 获取或设置此实例中指定字符位置处的字符。
- public int Length { get; set; } ==> 获取或设置当前 StringBuilder 对象的长度(可以设置,若短就截断,若长了则向后补充’’字符)
- public int MaxCapacity { get; } ==> 获取此实例的最大容量。
class Test {
static void Main() {
string str = "hello, world";
StringBuilder sb = new StringBuilder(str);
Console.WriteLine(sb.Capacity);
Console.WriteLine(sb[0]);
Console.WriteLine(sb.Length);
Console.WriteLine(sb.MaxCapacity);
}
}
/*
16
h
12
2147483647
*/
3. 方法
3.1 添加相关
总结
- StringBuilder.Append:向此实例追加指定对象的字符串表示形式
- StringBuilder.AppendLine:将默认的行终止符(或指定字符串的副本和默认的行终止符)追加到此实例的末尾。
代码
class Test {
static void Main() {
string str = "hello, world";
StringBuilder sb = new StringBuilder(str);
sb.Append("添加于同一行....");
sb.AppendLine(", 我后面跟着一个行终止符哟......");
sb.Append("我在新的一行啦......");
Console.WriteLine(sb);
// ? 可以用于可空类型的声明,添加到sb后面,此时即使sb == null, 也不会抛出异常,返回的StringBuilder会为 null
sb = null;
StringBuilder sb_tmp = sb?.AppendLine("");
}
}
/*
hello, world添加于同一行...., 我后面跟着一个行终止符哟......
我在新的一行啦......
*/
原文地址:https://blog.csdn.net/weixin_51566349/article/details/135520607
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_56262.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。