c# 学习笔记 - StringBuilder

这篇具有很好参考价值的文章主要介绍了c# 学习笔记 - StringBuilder。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 介绍

1.1 基本介绍

  类结构
c# 学习笔记 - StringBuilder,c#,c#,学习,笔记
  StringBuilder官方参考文档:StringBuilder类

1.2 深层细节

2. 构造和属性

2.1 StringBuilder 构造

  相关构造方法
c# 学习笔记 - StringBuilder,c#,c#,学习,笔记

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 属性

  1. public int Capacity { get; set; } ==> 当前存储容量
  2. public char this[int index] { get; set; } ==> 获取或设置此实例中指定字符位置处的字符。
  3. public int Length { get; set; } ==> 获取或设置当前 StringBuilder 对象的长度(可以设置,若短就截断,若长了则向后补充’\0’字符)
  4. 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 添加相关

  总结

  1. StringBuilder.Append:向此实例追加指定对象的字符串表示形式
  2. StringBuilder.AppendLine:将默认的行终止符(或指定字符串的副本和默认的行终止符)追加到此实例的末尾。

  代码文章来源地址https://www.toymoban.com/news/detail-808192.html

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添加于同一行....,  我后面跟着一个行终止符哟......
我在新的一行啦......
*/

到了这里,关于c# 学习笔记 - StringBuilder的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# 学习笔记

    不再是学生了,成了社畜了,公司主要技术栈是C# 大一时候学C#学的很迷糊,总要重新学一下 入职已经20天了,也开始上手简单增删改查了 记录了一些C#相关的东西,只是还没有系统整理 控件命名规范 连接数据库 Connection 对象 ConnectionState 枚举 关闭连接 Dispose 和 Close Close 用

    2024年02月16日
    浏览(39)
  • 【C#学习笔记】【GUID】

    第一章 【C#学习笔记】【StackTrace】 第二章 【C#学习笔记】【Attribute】 第三章 【C#学习笔记】【Interface】 第四章 【C#学习笔记】【GUID】 关于GUID的介绍。 GUID(全局同意标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。 通常平台会提供生

    2023年04月08日
    浏览(33)
  • 【C#学习笔记】类型转换

    我们简单地将值类型分为5种:整数型,浮点型,布尔型,字符型,再加上一个本属于引用类型的字符串。 由于 C# 是在编译时静态类型化的,因此变量在声明后就无法再次声明,或无法分配另一种类型的值,除非该类型可以隐式转换为变量的类型。 隐式转换 :由于这种转换

    2024年02月14日
    浏览(49)
  • c# 学习笔记 - 异步编程

    1.1 简单介绍   异步编程官方参考文档:异步编程     1.2 async/await 使用   细节注意 async 用来修饰方法,表示这个方法可以成为一个异步方法,但是如果内部没有搭配使用 await 的话其作用还是等效于一个同步方法 await 必须用于在 async 修饰的异步方法内使用,

    2024年01月18日
    浏览(55)
  • 【C# Programming】C#第一课(自己学习的笔记)

    目录 一、C# 介绍 1.1 托管代码(Manage Code ) : 1.2 基础类型库 (Base Class Library): 1.3 程序集(Assembly): 1.4 .NET 框架: 1.5 公共中间语言(Common Intermediate Language),简称 IL。 1.6 C#编译器将源代码编译成CIL,从而生成程序集。 1.7 公共语言运行时 (Common Language Runtime ),简称 CLR。 1.8 所

    2024年02月12日
    浏览(41)
  • 【C#学习笔记】引用类型(2)

    支持 .NET 类层次结构中的所有类,并为派生类提供低级别服务。 这是所有 .NET 类的最终基类;它是类型层次结构的根。 简单来说,它是万能的,它是所有类型的父类。因为.NET 中的所有类都派生自 Object,因此 Object 类中定义的每个方法都可用于系统中的所有对象。 在 Object

    2024年02月14日
    浏览(53)
  • 【C#学习笔记】引用类型(1)

    引用类型的变量存储对其数据(对象)的引用,而值类型的变量直接包含其数据。 对于引用类型,两种变量可引用同一对象;因此,对一个变量执行的操作会影响另一个变量所引用的对象。 对于值类型,每个变量都具有其自己的数据副本,对一个变量执行的操作不会影响另

    2024年02月14日
    浏览(50)
  • C#学习笔记8:接口、委托、事件

    今日继续我的C#学习之路,今日学习接口、委托、事件,文章从实践出发学习这三个设计理念,并提供完整源码 目录 1、接口(多重继承): 代码: 运行结果: 2、委托(方法的代理/函数指针): 创建控制台程序实现委托: 遇到的报错及解决: 修改后的代码: 运行结果: 3、

    2024年04月15日
    浏览(54)
  • 【C#学习笔记】装箱和拆箱

    在讲引用类型object的时候,我们说它是万能的,却没说它万能在哪里。 除了object为每一种变量类型提供了ToString,GetHashCode,Equals,GetType方法之外, object作为所有类型的父类,它可以实现任意变量类型到object的转换 。 一方面,使用object类型可以显式 转换到 任意类型,(其

    2024年02月14日
    浏览(37)
  • 【C#学习笔记】数组和索引器

    数组具有以下属性: 数组可以是一维、多维或交错的。 创建数组实例时,将建立纬度数量和每个纬度的长度。 这些值在实例的生存期内无法更改。 数值数组元素的默认值设置为0,而引用元素设置为 null。 交错数组是数组的数组,因此其元素为引用类型且被初始化为 null。

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包