Byte[] buf和StringBuilder buf

studywcf_001 2011-04-10 11:30:38
实例:
[DllImport("termb.DLL", CallingConvention = CallingConvention.StdCall)]
public static extern int GetPeopleSex(Byte[] buf, int iLen);

[DllImport("termb.DLL", CallingConvention = CallingConvention.StdCall)]
public static extern int GetPeopleNation(StringBuilder buf, int iLen);
Byte[] buf:表示字节数组。
StringBuilder:表示什么???

两者之间有什么差别和联系?分别适用于什么情况???
...全文
483 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
明缘 2011-04-25
  • 打赏
  • 举报
回复
StringBuilder 一次创建 申请一块内存,有默认值的, 在这个申请的大小内 不需要重新申请,而string则每一次追加一个字符串的时候都需要重复申请,影响速度。
sswp7 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qldsrx 的回复:]

适用于字符串处理中,比如你要循环从Byte[]中读取每个字节,单独将每个字节转换为字符,然后拼接这些字符到字符串,这时用StringBuilder就大大提高效率,因为只需要一个对象就可以做到了,如果换成String,那么循环1000次就要创建1000个对象,每次拼接字符,都会创建新的字符串,旧的舍弃,严重浪费资源。
[/Quote]

精辟。。。
ycproc 2011-04-12
  • 打赏
  • 举报
回复
StringBuilder 四 string 的 派生类

string 每次都声明一个对象 在内存中

StringBuilder 采用append 拼接

有利于提高程序效率
qldsrx 2011-04-12
  • 打赏
  • 举报
回复
适用于字符串处理中,比如你要循环从Byte[]中读取每个字节,单独将每个字节转换为字符,然后拼接这些字符到字符串,这时用StringBuilder就大大提高效率,因为只需要一个对象就可以做到了,如果换成String,那么循环1000次就要创建1000个对象,每次拼接字符,都会创建新的字符串,旧的舍弃,严重浪费资源。
studywcf_001 2011-04-12
  • 打赏
  • 举报
回复
那么“StringBuilder ”适用于什么情况呢???
sswp7 2011-04-10
  • 打赏
  • 举报
回复
StringBuilder 声明不定长度的字符串,直接修改原来的字符串,引用类型。不像String还要创建新的副本。。。
jiangjun110120 2011-04-10
  • 打赏
  • 举报
回复
StringBuilder就是不定长的字符串,可修改,对他的修改直接修改原来的内容
子夜__ 2011-04-10
  • 打赏
  • 举报
回复
StringBuilder 可变的字符序列

可以append
qldsrx 2011-04-10
  • 打赏
  • 举报
回复
StringBuilder就是不定长的字符串,可修改,如果是String,那字符串是固定长度的,不可修改,所有对字符串的操作都会创建新的副本,而不会修改原对象。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧