可信网站收费吗,自己房子做民宿挂什么网站,网站怎么找,企业注册信息查询单怎么打印目录
一、背景
二、使用StringBuilder便捷、高效地操作字符串
三、实例
1.源码
2.生成效果
四、实例中知识点
1.StringBuilder 构造函数
#xff08;1#xff09;定义
#xff08;2#xff09;重载
#xff08;3#xff09;StringBuilder()
#xff08;41定义
2重载
3StringBuilder()
4StringBuilder(Int32)
5StringBuilder(String)
6StringBuilder(Int32, Int32)
7StringBuilder(String, Int32)
8StringBuilder(String, Int32, Int32, Int32)
2.StringBuilder属性
3.StringBuilder方法
2.Environment.NewLine 属性 一、背景 符串是不可改变的对象字符串在创建以后就不会被改变当使用字符串对象的Replace、split或Remove等方法操作字符串时实际上是产生了一个新的字符串对象原有的字符串如果没有被引用将会被垃圾收集器回收。如果频繁地使用字符串中的方法对字符串进行操作会产生大量的没有被引用的字符串对象这会增加垃圾收集的压力造成系统资源的浪费。
二、使用StringBuilder便捷、高效地操作字符串 因为使用StringBuilder操作字符串不会产生新的字符串对象在使用StringBuilder对象前首先要引用命名空间System.Text。 由于字符串的不可变性使用StringBuilder操作字符串无疑是非常方便和有效的方法。StringBuilder对象的使用方法
StringBuilder P_stringbuilder new StringBuilder(abc); //使用new关键字调用构造方法创建对象
P_stringbuilder.Insert(2,Environment.NewLine); //调用对象的Insert方法向字符串中插入字符 建立StringBuilder对象后可以调用操作字符串的方法从而方便操作字符串对象适当地使用StringBuilder操作字符串会使程序运行更加高效。
三、实例
1.源码
//按标点符号对字符串分行显示
using System.Text;namespace _039
{public partial class Form1 : Form{private GroupBox? groupBox1;private TextBox? textBox3;private Button? button1;private TextBox? textBox1;private TextBox? textBox2;public Form1(){InitializeComponent();Load Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // textBox3// textBox3 new TextBox{Location new Point(12, 22),Multiline true,Name textBox3,Size new Size(310, 46),TabIndex 6,Text 在下面文本框中输入字符串并使用,号分隔点击分行显示按钮根据,号对字符串进行分行。};// // button1// button1 new Button{Location new Point(130, 170),Name button1,Size new Size(75, 23),TabIndex 3,Text 分行显示,UseVisualStyleBackColor true};button1.Click Button1_Click;// // textBox1// textBox1 new TextBox{Location new Point(12, 80),Multiline true,Name textBox1,Size new Size(310, 84),TabIndex 4};// // textBox2// textBox2 new TextBox{Location new Point(12, 200),Multiline true,Name textBox2,Size new Size(310, 84),TabIndex 5};// // groupBox1// groupBox1 new GroupBox{Location new Point(0, 0),Name groupBox1,Size new Size(334, 74),TabIndex 0,TabStop false,Text 操作说明};groupBox1.Controls.Add(textBox3);groupBox1.SuspendLayout();// // Form1// AutoScaleDimensions new SizeF(7F, 17F);AutoScaleMode AutoScaleMode.Font;ClientSize new Size(334, 296);Controls.Add(textBox2);Controls.Add(textBox1);Controls.Add(button1);Controls.Add(groupBox1);Name Form1;StartPosition FormStartPosition.CenterScreen;Text 按标点符号对字符串分行;groupBox1.ResumeLayout(false);groupBox1.PerformLayout();}private void Button1_Click(object? sender, EventArgs e){StringBuilder stringbuilder new(textBox1!.Text); //创建字符串处理对象for (int i 0; i stringbuilder.Length; i)if (stringbuilder[i] ) //判断是否出现,号stringbuilder.Insert(i, Environment.NewLine); //向字符串内添加换行符textBox2!.Text stringbuilder.ToString(); //得到分行后的字符串}}
}2.生成效果 四、实例中知识点
1.StringBuilder 构造函数
1定义
命名空间:
System.Text
程序集:
System.Runtime.dll
初始化 StringBuilder 类的新实例。
2重载
StringBuilder()初始化 StringBuilder 类的新实例。StringBuilder(Int32)使用指定的容量初始化 StringBuilder 类的新实例。StringBuilder(String)使用指定的字符串初始化 StringBuilder 类的新实例。StringBuilder(Int32, Int32)初始化 StringBuilder 类的新实例该类起始于指定容量并且可增长到指定的最大容量。StringBuilder(String, Int32)使用指定的字符串和容量初始化 StringBuilder 类的新实例。StringBuilder(String, Int32, Int32, Int32)从指定的子字符串和容量初始化 StringBuilder 类的新实例。
3StringBuilder() 初始化 StringBuilder 类的新实例。
public StringBuilder ();
//以下示例演示如何在没有参数的情况下调用 StringBuilder 构造函数。
//此实例的字符串值设置为 String.Empty容量设置为特定于实现的默认容量。
StringBuilder stringBuilder new();
4StringBuilder(Int32) 使用指定的容量初始化 StringBuilder 类的新实例。
public StringBuilder (int capacity);参数
capacity
Int32
此实例的建议起始大小。例外
ArgumentOutOfRangeException
capacity 小于零。
int capacity 255;
StringBuilder stringBuilder new(capacity); 参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity 则 StringBuilder 对象会分配额外的内存来存储这些字符。此实例的字符串值设置为 String.Empty。 如果 capacity 为零则使用特定于实现的默认容量。
5StringBuilder(String) 使用指定的字符串初始化 StringBuilder 类的新实例。
public StringBuilder(string value);参数
value
String
用于初始化实例值的字符串。 如果 value 为 null则新的 StringBuilder 将包含空字符串即包含 Empty。
//如何使用指定的字符串调用 StringBuilder 构造函数。
//如果 value 为 null则新的 StringBuilder 将包含空字符串即包含 Empty。
string initialString Initial string.;
StringBuilder stringBuilder new(initialString);
6StringBuilder(Int32, Int32) 初始化 StringBuilder 类的新实例该类起始于指定容量并且可增长到指定的最大容量。
public StringBuilder (int capacity, int maxCapacity);参数
capacity
Int32
StringBuilder 的建议起始大小。maxCapacity
Int32
当前字符串可包含的最大字符数。例外
ArgumentOutOfRangeException
maxCapacity 小于一capacity 小于零或 capacity 大于 maxCapacity。
//如何调用 StringBuilder 具有指定容量和最大容量的构造函数。
int capacity 255;
int maxCapacity 1024;
StringBuilder stringBuilder new(capacity, maxCapacity); 参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity 则 StringBuilder 对象会分配额外的内存来存储这些字符。 如果 capacity 为零则使用特定于实现的默认容量。 属性 maxCapacity 定义当前实例可以容纳的最大字符数。 其值分配给 MaxCapacity 属性。 如果要存储在当前实例中的字符数超过此值 maxCapacity 则 StringBuilder 对象不会分配额外的内存而是引发异常。
7StringBuilder(String, Int32) 使用指定的字符串和容量初始化 StringBuilder 类的新实例。
public StringBuilder (string value, int capacity);
参数
value
String
用于初始化实例值的字符串。 如果 value 为 null则新的 StringBuilder 将包含空字符串即包含 Empty。capacity
Int32
StringBuilder 的建议起始大小。例外
ArgumentOutOfRangeException
capacity 小于零。
//如何使用初始字符串和指定的容量调用 StringBuilder 构造函数。
string initialString Initial string. ;
int capacity 255;
StringBuilder stringBuilder new(initialString, capacity); 参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity 则 StringBuilder 对象会分配额外的内存来存储这些字符。 如果 capacity 为零则使用特定于实现的默认容量。
8StringBuilder(String, Int32, Int32, Int32) 从指定的子字符串和容量初始化 StringBuilder 类的新实例。
public StringBuilder (string value, int startIndex, int length, int capacity);参数
value
String
字符串包含用于初始化此实例值的子字符串。 如果 value 为 null则新的 StringBuilder 将包含空字符串即包含 Empty。startIndex
Int32
value 中子字符串开始的位置。length
Int32
子字符串中的字符数。capacity
Int32
StringBuilder 的建议起始大小。例外
ArgumentOutOfRangeException
capacity 小于零。
- 或 -
startIndex 加 length 不是 value 中的位置。
//如何使用指定的字符串调用 StringBuilder 构造函数。
string initialString Initial string for stringbuilder.;
int startIndex 0;
int substringLength 14;
int capacity 255;
StringBuilder stringBuilder new(initialString, startIndex, substringLength, capacity); 参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity 则 StringBuilder 对象会分配额外的内存来存储这些字符。 如果 capacity 为零则使用特定于实现的默认容量。
2.StringBuilder属性 3.StringBuilder方法 2.Environment.NewLine 属性 等效于换行符。NewLine 自动追加到由 Console.WriteLine 和 StringBuilder.AppendLine 方法处理的文本。
提供 NewLine 的功能通常是换行符、换行符、换行符、回车符、CRLF 和行尾术语的含义。
命名空间:
System程序集:
netstandard.dll获取为此环境定义的换行字符串。属性值
String
\r\n 对于非 Unix 平台或 \n Unix 平台。 实例
// 显示用换行符分隔的两行
namespace ConsoleApp2
{class Sample{public static void Main(){Console.WriteLine();Console.WriteLine($NewLine: {Environment.NewLine} first line{Environment.NewLine} second line);}}
}/*
运行结果NewLine:first linesecond line
*/ 文章转载自: http://www.morning.qbdsx.cn.gov.cn.qbdsx.cn http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn http://www.morning.pqnpd.cn.gov.cn.pqnpd.cn http://www.morning.dwhnb.cn.gov.cn.dwhnb.cn http://www.morning.trkhx.cn.gov.cn.trkhx.cn http://www.morning.1000sh.com.gov.cn.1000sh.com http://www.morning.taipinghl.cn.gov.cn.taipinghl.cn http://www.morning.ebpz.cn.gov.cn.ebpz.cn http://www.morning.xzrbd.cn.gov.cn.xzrbd.cn http://www.morning.lrplh.cn.gov.cn.lrplh.cn http://www.morning.fgxws.cn.gov.cn.fgxws.cn http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com http://www.morning.rtsdz.cn.gov.cn.rtsdz.cn http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn http://www.morning.qkdjq.cn.gov.cn.qkdjq.cn http://www.morning.plgbh.cn.gov.cn.plgbh.cn http://www.morning.mnkz.cn.gov.cn.mnkz.cn http://www.morning.xnkh.cn.gov.cn.xnkh.cn http://www.morning.ssglh.cn.gov.cn.ssglh.cn http://www.morning.xhklb.cn.gov.cn.xhklb.cn http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn http://www.morning.tlfyb.cn.gov.cn.tlfyb.cn http://www.morning.wfjrl.cn.gov.cn.wfjrl.cn http://www.morning.zmwd.cn.gov.cn.zmwd.cn http://www.morning.bplqh.cn.gov.cn.bplqh.cn http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn http://www.morning.tsnq.cn.gov.cn.tsnq.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn http://www.morning.rxlk.cn.gov.cn.rxlk.cn http://www.morning.pqcrz.cn.gov.cn.pqcrz.cn http://www.morning.lizpw.com.gov.cn.lizpw.com http://www.morning.cmrfl.cn.gov.cn.cmrfl.cn http://www.morning.krgjc.cn.gov.cn.krgjc.cn http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn http://www.morning.cplym.cn.gov.cn.cplym.cn http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn http://www.morning.nmfml.cn.gov.cn.nmfml.cn http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn http://www.morning.tbzcl.cn.gov.cn.tbzcl.cn http://www.morning.xxrgt.cn.gov.cn.xxrgt.cn http://www.morning.rytps.cn.gov.cn.rytps.cn http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn http://www.morning.xpfwr.cn.gov.cn.xpfwr.cn http://www.morning.byxs.cn.gov.cn.byxs.cn http://www.morning.jytrb.cn.gov.cn.jytrb.cn http://www.morning.dpdr.cn.gov.cn.dpdr.cn http://www.morning.cwznh.cn.gov.cn.cwznh.cn http://www.morning.qhtlq.cn.gov.cn.qhtlq.cn http://www.morning.swkzr.cn.gov.cn.swkzr.cn http://www.morning.wnhml.cn.gov.cn.wnhml.cn http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.lbgsh.cn.gov.cn.lbgsh.cn http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn http://www.morning.paoers.com.gov.cn.paoers.com http://www.morning.rnqyy.cn.gov.cn.rnqyy.cn http://www.morning.mrgby.cn.gov.cn.mrgby.cn http://www.morning.mzbyl.cn.gov.cn.mzbyl.cn http://www.morning.qjbxt.cn.gov.cn.qjbxt.cn http://www.morning.dmrjx.cn.gov.cn.dmrjx.cn http://www.morning.ckntb.cn.gov.cn.ckntb.cn http://www.morning.jqsyp.cn.gov.cn.jqsyp.cn http://www.morning.wdnkp.cn.gov.cn.wdnkp.cn http://www.morning.glxdk.cn.gov.cn.glxdk.cn http://www.morning.fdxhk.cn.gov.cn.fdxhk.cn http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn http://www.morning.nhdmh.cn.gov.cn.nhdmh.cn http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn http://www.morning.ktxd.cn.gov.cn.ktxd.cn http://www.morning.gfkb.cn.gov.cn.gfkb.cn http://www.morning.fkgct.cn.gov.cn.fkgct.cn http://www.morning.bxsgl.cn.gov.cn.bxsgl.cn http://www.morning.jpkhn.cn.gov.cn.jpkhn.cn http://www.morning.ngkng.cn.gov.cn.ngkng.cn http://www.morning.knpbr.cn.gov.cn.knpbr.cn