目录
1、“+”或者“+=”的方式
2、string.Format()的方式
3、StringBuilder的方式
4、$ 的方式
5、@ 的方式
今天(2021-11-02)在查看代码复盘的时候,看到字符串拼接这一块,突然福如心至,回忆起用过的几种字符串拼接方式。
然后百度简单梳理一下,看一看你用过哪种,如有其他方式,可以在评论区聊聊用用。
1、“+”或者“+=”的方式
string str = "我是一" + "句话";
//或者
string str = "我是一";
str += "句话";
复制
首先需要明白的是string类型,string是引用类型,保留在堆上,而不是栈上,用的时候传的是内存中的地址,
每次修改就会重新创建一个新的string对象来存储字符串,原有的会被自动回收,如果有时候需要循环拼接时,就会不断创建新的对象,这样很浪费性能和内存。
2、string.Format()的方式
string str = string.Format("{0}{1}{2}", "我是", "一句", "话");
复制
这种方式是先创建一个StringBuilder类型的变量,长度为第一个参数的长度+参数长度的8倍,系统自动分配一个比较大的容量来存储。
3、StringBuilder的方式
//注意需要引入 using System.Text;
StringBuilder str = new StringBuilder();
str.Append("我是");
str.Append("一句");
str.Append("话");
复制
StringBuilder 是预先创建一个比较大的内存,以后每次操作时判断容量上限是否不够用,如果不够用就自动把容量扩大一倍,
修改的还是第一次创建的对象的值。
4、$ 的方式
string endStr = "一句话";
string str = $"我是{endStr}";
复制
C#中$的用法是为了替代string.format(),原先赋值需要占位符和变量,当需要拼接多个变量会造成语句过长等不易理解问题,
$是为了替代string.format()可以把字符串中的C#变量{}包含起来达到识别C#变量的目的。
5、@ 的方式
//1、换行后,双引号内的字符都是字符串
string str = @"我是
一句
话";
//2、读取文件路径不需要转义字符
StreamReader sr = new StreamReader(@"C:\Users\\Public\Desktop\test.txt");
复制
换行后,双引号内的字符都是字符串;读取文件路径不需要转义字符。复制
一般我都是混合使用的,比如拼接一段SQL语句,如下:
var table = "Demo.";
var name = "姓名";
string str = string.Format(@"SELECT a.[number]
,a.[name]
,a.[classN]
,a.[classR]
,a.[classNa]
,a.[score],
b.name
FROM {0}dbo.UserName a
INNER JOIN Demo.dbo.StudentTable b ON a.classN=b.ClassName", table);
str += $" WHERE a.name='{name}' ";
复制
文章转载自熊泽有话说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1327次阅读
2025-03-13 11:40:53
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1314次阅读
2025-03-06 16:45:38
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
915次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
469次阅读
2025-03-13 14:38:19
AI的优化能力,取决于你问问题的能力!
潇湘秦
441次阅读
2025-03-11 11:18:22
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
346次阅读
2025-03-21 10:34:08
达梦数据与法本信息签署战略合作协议
达梦数据
300次阅读
2025-03-06 09:26:57
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
288次阅读
2025-03-13 09:51:26
GoldenDB数据库社区正式上线!期待与您共享新知
GoldenDB分布式数据库
242次阅读
2025-03-12 14:06:39
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
240次阅读
2025-03-10 07:58:44