黑马程序员技术交流社区
标题:
字符串的特性
[打印本页]
作者:
FrancisTan
时间:
2014-7-9 15:06
标题:
字符串的特性
本帖最后由 FrancisTan 于 2014-7-9 21:48 编辑
字符串有些什么特性?
当被问到这个问题时,我懵了!特性?
纳尼,不是只要知道什么样子的是字符串就行了吗?
好吧,这个只能进一步证明,C#学习一定不能浮躁,
一步一个脚印学扎实才行哪!
好了,哪位大神帮小弟解答一下这个问题?
作者:
向晓伟
时间:
2014-7-9 16:17
string是不可变字符串,任何操作都是新建一个字符串。效率很低。
一般都是用高效的stringbuffer。
对StringBuffer进行操作,是在原来的对象之上进行改变. 而对String进行操作,是创建新的对象(String的操作都是改变赋值地址而不是改变值操作
)
作者:
许庭洲
时间:
2014-7-9 16:21
本帖最后由 许庭洲 于 2014-7-9 16:23 编辑
1. C# 字符串是使用 string 关键字声明的一个字符数组。
2. 字符串是使用引号声明的,如下面的示例所示:
string s = "Hello, World!";
3.
字符串中可以包含转义符,如“
\n
”(新行)和“
\t
”(制表符)。
string hello = "Hello\nWorld!";
等同于:
Hello
World!
作者:
追梦无悔
时间:
2014-7-9 17:21
1. 不可变性:由于字符串是不可变的。所以每次修改字符串都是创建一个单独的字符串副本(有拷贝了一个字符串);
2. 字符串池:当程序中有多个相同的字符串常量时,这时,这些字符串都是指向内存中的同一个字符符串,这个特性叫做:字符串池。
之所以字符串池不会造成程序的混乱,是因为:字符串具有不可变性。
3. 字符串留用(不常用,因为会有一定的内存损耗):
作者:
致立
时间:
2014-7-9 21:25
字符串是引用类型,其不能被重新赋值,我们每次对其进行重新赋值的时候其实只是改变了其存在于栈中的地址所指向的堆中的存储空间,其实是又开辟了一块空间的。
作者:
FrancisTan
时间:
2014-7-9 21:47
谢谢各位了!
作者:
麦田怪圈
时间:
2014-7-11 20:19
学习了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2