博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
String与StringBuilder - 字符串的轻重量级
阅读量:7109 次
发布时间:2019-06-28

本文共 986 字,大约阅读时间需要 3 分钟。

有人经常问String和StringBuilder有什么区别,啥时候用什么呢?
其实,如果是简单的字符串应用的话,一般都用string。
 
下面我们来举个例子:
string
 strEmail 
=
 
""
;
strEmail 
+=
 
"
<tr><td>
"
 
+
 xxxxx 
+
 
"
</td>
"
;
strEmail 
+=
 
"
<td>
"
 
+
 yyyyy 
+
 
"
</td>
"
;
strEmail 
+=
 
"
<td>
"
 
+
 xxxxx
+
 
"
</td>
"
;
strEmail 
+=
 
"
<td>
"
 
+
 yyyyy 
+
 
"
</td></tr>
"
;
以上属于比较丑陋的代码了,像这种情况,至少,我们应该利用一下C#中的
字符串换行符号@和string.Format吧。
可以这样写:
strEmail 
=
 
""
;
strEmail 
+=
 
string
.Format(
@"
<tr>
<td>{0}</td>
<td>{1}</td>
<td>{2}</td>
<td>{3}</td>
</tr>
"
,
xxxxx,
yyyyy,
xxxxx,
yyyyy);
但是以上写法还不是最好的,这个时候我们想到了StringBuilder。
因为在比较重量级的字符串拼接的场景下,最好使用StringBuilder。
新的写法如下:
var sbEmail 
=
 
new
 StringBuilder(
@"
<table border=""1"">
<tr>
<td>Header A</td>
<td>Header B</td>
<td>Header C</td>
<td>Header D</td>
</tr>
"
);
//
items只是一个特定的ArrayList,用于循环添加表格的行,可以不必理会
foreach
 (var item 
in
 items)
{
  sbEmail.AppendFormat(
@"
  <tr>
  <td>{0}</td>
  <td>{1}</td>
  <td>{2}</td>
  <td>{3}</td>
  </tr>
"
,
  xxxxx,
  yyyyy,
  xxxxx
  yyyyy);
}
sbEmail.AppendLine(
"
</table>
"
);
我们需要注意的是:
AppendFormat和AppendLine

转载地址:http://gelhl.baihongyu.com/

你可能感兴趣的文章
字符串中提取数字
查看>>
常用的SQL 总结
查看>>
if语句三种格式
查看>>
OSPF 相关知识点
查看>>
eclipse启动tomcat遇到的问题
查看>>
Codeforces Round #426 (Div. 2) problem B
查看>>
20180113Go匿名函数和闭包
查看>>
CF 221div2 A. Lever
查看>>
C#序列化与反序列化以及深拷贝浅拷贝
查看>>
Django学习(一) Django安装配置
查看>>
通过Java代码实现对数据库的数据进行操作:增删改查(JDBC)
查看>>
iOS APP上架过程常见问题
查看>>
配置文件的读取 java
查看>>
【转】class 'org.springframework.orm.hibernate3.LocalSessionFactoryBean' not found解决办法
查看>>
VRTK 学习记录之 Teleport
查看>>
Ambari Server 配置组功能实现分析
查看>>
javascript this的范围理解
查看>>
zencart移站后批量替换数据库中网址、电子邮箱、重置用户密码
查看>>
zencart批量设置热卖商品 best seller、点击最高最受欢迎产品 most popular
查看>>
sql server 复制之找不到该行的非暴力处理方法
查看>>