C# 面向对象05 StringBuilder的用法

2023-11-13

好处:相比普通的 string处理, 提高了字符串的处理速度

注意点:使用时需要使用对象的方式 StringBuilder world = new StringBuilder();

 

using System;
using System.Diagnostics;
using System.Text;

namespace _08_StringBuilder
{
    class Program
    {
        static void Main(string[] args)
        {
            // 可以查看代码运行时间的对象
            Stopwatch w = new Stopwatch();
            // 开始计时
            w.Start();
            string str = "";
            for (int i = 0; i < 1000; i++)
            {
                str += i;
            }
            // 结束计时
            w.Stop();
            Console.WriteLine("string用时:" + w.Elapsed);

            Stopwatch s = new Stopwatch();
            s.Start();
            // 定义一个stringbuilder对象
            StringBuilder world = new StringBuilder();
            for (int i = 0; i < 1000; i++)
            {
                // 向其中添加内容
                world.Append(i);
            }
            s.Stop();
            Console.WriteLine("stringbuilder用时:" + s.Elapsed);

            // 1.直接赋值默认字符串
            StringBuilder world1 = new StringBuilder("我是最棒的!");

            // 2.只定义可以放入的大小,60个字符
            StringBuilder world2 = new StringBuilder(60);

            // 3.定义默认值:"我是最棒的!"且定义容量:60个字符
            StringBuilder world3 = new StringBuilder("我是最棒的!", 60);

            // 追加内容
            world1.Append("Are You Ok~");

            // 追加一行
            world1.AppendLine("追加了一行");

            // 追加一行
            world1.AppendLine("又追加了一行");

            // 替换,第一个参数是替换前,第二个参数是替换后
            world1.Replace("!","。");

            // 查看容量
            Console.WriteLine("world1的容量是:" + world1.Capacity);

            // 在指定位置插入值,第一个参数是索引,第二个是插入的内容
            world1.Insert(0, "插入的内容");

            // 删除,第一个参数是索引,第二个是删除多少
            world1.Remove(0, 5);

            // 获取内容
            Console.WriteLine("world1:" + world1.ToString());

            // 查看长度
            Console.WriteLine("world1的长度:" + world1.Length);

            // 清空
            world1.Clear();



        }
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 面向对象05 StringBuilder的用法 的相关文章

  • Task.Factory.StartNew 或 Parallel.ForEach 对于许多长时间运行的任务? [复制]

    这个问题在这里已经有答案了 可能的重复 Parallel ForEach 与 Task Factory StartNew https stackoverflow com questions 5009181 parallel foreach
  • 不同提供商的相同 EDMX 文件

    我正在开发一个项目 其中有一个本地数据库 SQL CE 在不存在与服务器的连接的情况下用作缓冲区 在服务器上我想使用相同的数据库布局 当然 我想使用服务器和客户端上可用的 Common dll 中的相同 EDMX 文件 在客户端中 我有一个
  • 成员字段、构建顺序

    在 C 中 当执行如下所示的操作时 构造顺序是否得到保证 Logger Logger kFilePath logs runtime log logFile kFilePath 是的 施工顺序始终得到保证 但是 不能保证它与对象在初始值设定项
  • 套接字编程-listen() 和accept() 有什么区别?

    我一直在读本教程 http www cs rpi edu moorthy Courses os98 Pgms socket html了解套接字编程 看来listen and accept 系统调用都做同样的事情 即阻塞并等待客户端连接到使用
  • C# 中直接从 URL 获取图像尺寸

    我正在尝试使用以下代码直接从网络上获取图片的尺寸 string image http www hephaestusproject com csharp3 png byte imageData new WebClient DownloadDa
  • 当 foreach 块的内容具有 Conditional 属性时,C# 编译器是否会对其进行优化?

    我正在工作中编写一些调试代码 我想知道我所做的是否会损害性能 让我们看一下代码 foreach var item in aCollection Debug WriteLine item Name 我知道 Debug 类使用 Conditio
  • 何时使用 C++ 私有继承而不是组合?

    你能给我一个具体的例子吗 什么时候使用私有继承优于组合 就我个人而言 我将使用组合而不是私有继承 但在某些情况下 使用私有继承可能是特定问题的最佳解决方案 正在阅读C faq http www parashift com c faq lit
  • 使用默认行为将模型绑定到接口

    我正在尝试将控制器操作绑定到接口 但仍保持默认的绑定行为 public class CoolClass ISomeInterface public DoSomething get set ISomeInterface public clas
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • 根据 Active Directory 策略检查密码[重复]

    这个问题在这里已经有答案了 我有一个允许用户更改其 AD 密码的前端 有没有办法获取特定用户及其属性 长度 复杂性 的密码策略 例如细粒度 有没有办法根据此特定策略检查字符串 xyz121 编辑 我不想检查活动目录中存储的当前密码 我想检查
  • 从二进制文件读取字节到 long int

    我有两个问题 我有二进制文件的数据 我想使用 read 函数读取前 8 个字节以签署 long int 但我不能 你知道我该怎么做吗 如何直接读取一块数据到字符串中 我可以像所示那样阅读吗 前任 ifstream is is open te
  • 重定向 std::cout

    我需要一个类 在其对象的生命周期内将一个 ostream 重定向到另一个 ostream 经过一番修补后 我想出了这个 include
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 禁用实体框架的默认值生成(Code First)

    我数据库中有一个列不能为空 我想将其设置为默认值在数据库中 问题是实体框架似乎自己创建了一个默认值 例如 int gt 0 并且完全忽略了数据库中的默认值约束 有没有办法禁用实体框架的默认值 我发现您可以使用以下属性来装饰您的字段 Data
  • List 或其他类型上的 string.Join

    我想将整数数组或列表转换为逗号分隔的字符串 如下所示 string myFunction List
  • 在 lua 中加载 C++ 模块时出现“尝试索引字符串值”错误

    我正在尝试使用 lua 用 C 编写的函数 下面给出的是cpp文件 extern C include lua h include lauxlib h include lualib h static int add 5 lua State L
  • C# 模式匹配

    我对 C 有点陌生 我正在寻找一个字符串匹配模式来执行以下操作 我有一个像这样的字符串 该书将在 唐宁街 11 号接待处 并将由主要医疗保健人员参加 我需要创建一个 span 标签来使用 startIndex 和 length 突出显示一些
  • 检查另一种形式的线程是否仍在运行

    我有一个涉及两个窗体的 Windows 窗体应用程序 子表单用于将数据导出到 CSV 文件 并使用后台工作者写入文件 当这种情况发生时 我隐藏了表格 当后台工作程序运行时 父窗体仍然处于活动状态 因此即使后台工作程序正在写入文件 用户也可以
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • execlp() 系统调用输出错误

    这个非常简单的例子exec 系统调用 在这里 我试图打电话execlp 两次 但是 我没有得到例外的输出 它仅显示当前目录的第一次调用的输出 include

随机推荐

  • ubuntu安装python3.6 software-properties-common

    gnupg 破坏 software properties common lt 0 96 24 3 but sudo apt install only upgrade gnupg
  • DKVMN学习

    文章目录 前言 Memory Augmented Neural Network MANN for Knowledge Tracing DKVMN模型 实验结果 DKVMN总结 DKVMN BORUTA模型 SKVMN模型 Deep IRT模
  • background-position设置百分比“失效了”!!

    1 background position设置百分比的计算原理 当指定百分比值的时候 实际上执行了以下的计算公式 该公式可以用数学方式定义图片和容器相对位置重合 这是当background size auto 时 百分比有效 contain
  • 组装一台1u服务器

    1 服务器的内存条都是带校验功能的 2 服务器cpu可以多个 一般电脑只有一个
  • NAS个人云存储服务器搭建

    NAS Network Attached Storage 网络附属存储 通过网络提供数据访问服务 可以理解为长时间连网的存储设备 其功能基本和市面上的各种云盘相似 它以数据为中心 将存储设备与服务器彻底分离 集中管理数据 从而释放带家 提高
  • layui 时间选择器laydate开始时间结束时间限制,及设置默认时分秒

    这个时间控件实现了 开始时间和结束时间都不得超过当前时间 结束时间大于开始时间并且小于当前时间 开始时间默认时分秒为00 00 00 结束时间默认时分秒为23 59 59 其他官方自带功能 项目中的需求是 结束时间要大于开始时间 包括时分秒
  • 全网页截图教程,如何截图截全屏

    系统自身的截屏快捷键 台式键盘的电脑 全屏 Ctrl Print Screen 当前窗口 Alt Print Screen 笔记本截图快捷键 FN Prt sc 浏览器自带的 非常好用 在浏览器打开要截取全网页为图片的那个网页 打开那个网页
  • Unity—常用API(续Time类)

    今天整理了Time类 一张很有意思的理解API的图 此图灵感来源于 如何理解API API 是如何工作的 仁杰兄的博客 CSDN博客 api 目录 Time 练习 使用Text制作倒计时预制体 在Update每帧执行的方法中 个别语句实现指
  • ubuntu学习(四)----文件写入操作编程

    1 write函数的详解 ssize t write int fd const void buf size t count 参数说明 fd 是文件描述符 write所对应的是写 即就是1 buf 通常是一个字符串 需要写入的字符串 coun
  • 浅析芝麻信用分征信体系

    在互联网大佬中 能将未雨绸缪之功力炼至极致的非马云莫属了 其所扔下的每一个棋子都会前思三招 后推九步 每一步商业布局都像是一枚运气极佳的的种子总能找到温润肥沃的土壤而后破土而发 十年遮风 百年纳凉 马老板曾苦心孤诣费尽心机地想把淘宝由一家广
  • 教你自己搭建一个ip池(绝对超好用!!!!)

    随着我们爬虫的速度越来越快 很多时候 有人发现 数据爬不了啦 打印出来一看 不返回数据 而且还甩一句话 是不是很熟悉啊 要想想看 人是怎么访问网站的 发请求 对 那么就会带有 request headers 那么当你疯狂请求别人的网站时候
  • .NET/C#下html转PDF,PDF加水印,PDF转图片

    一 添加OpenHtmlToPdf iTextSharp O2S Components PDFRender4NET引用 1 OpenHtmlToPdf 是一个 NET库 开源的 用于将HTML文档呈现为PDF格式 github地址 http
  • hibernate derby 配置文件

    hibernate cfg xml
  • Python数据分析——上海市二手房价格分析

    自学数据分析与机器学习已有两月 近期房价问题引人深思 即兴做个上海市房价的数据分析小项目 上网一查上海市新楼盘价格 高的不忍直视 索性退而求其次 分析上海二手房的价格 一 数据收集 常规做法是编写网络爬虫程序 爬取相关网站的数据信息 捷径是
  • 如何把glb格式模型gltf格式模型导入3dmax和C4D,U3D,UE4这些主流软件中

    咱有时候去glbxz com添加链接描述 官网下载免费glb格式模型 gltf模型下载时候是没有通用格式 例如fbx obj 这个时候3dmax和C4D直接打开导入是不行的 也可以制作glb模型 扣扣 424081801 这个时候 咱们用
  • AI工具汇总

    大家好 我是可夫小子 关注AIGC 读书和自媒体 ChatGPT已经火了这么久 我也写不了少玩ChatGPT的方法 昨天OpenAI又推出了苹果手机的APP 我也介绍下载和安装的攻略 但根据读者反馈 仍然还是有许多同学没能用上 今天我就把我
  • VS2015远程编译Linux项目

    用VS2015开发Linux程序详细教程 配置篇 crazytea的博客 CSDN博客 linux 程序开发VS2015推出了跨平台开发 其中包括了对Linux程序开发的支持 最近刚好需要开发Linux程序 对其进行了一些研究 首先介绍下涉
  • redis的安装与配置

    第一章 redis 1 1redis的概述 1 2关系型数据库与非关系数据库 1 3关系型数据库和非关系型数据库区别 1 4redis优点与缺点 第二章redis的安装 2 1 YUM安装 2 2下载编译安装 2 2 1关闭防火墙 2 2
  • element左侧导航栏el-menu,菜单栏文字超出不折行问题

    在CSS样式中加上这些样式就可以了 el submenu title display flex align items center el submenu title span white space normal word break b
  • C# 面向对象05 StringBuilder的用法

    好处 相比普通的 string处理 提高了字符串的处理速度 注意点 使用时需要使用对象的方式 StringBuilder world new StringBuilder using System using System Diagnosti