是string
是引用类型还是值类型?任何人都可以给出相应的描述?是字符串值类型还是引用类型
2
A
回答
8
string
是不可变引用类型。下面是一个简单的例子:
// All of these point to the same string in the heap
string hello = "Hello World!"; // creates string
string hello2 = "Hello World!"; // uses the previous string from the intern pool
string hello3 = hello2;
如果您正在寻找更多的信息,请查看乔恩斯基特的帖子:
3
在.NET Framework System.String
是引用类型,一个很很好的解释是通过Jon Skeet:C# in Depth: Strings in C# and .NET。从他的文章的要点是:
- 它是引用类型
- 这是不可改变的
- 它可以包含空值
- 它重载==操作符
最后一点是使得string
的行为有时像您可以编写的值类型:
string s1 = "value";
string s2 = "value";
// result will be true.
bool result = (s1 == s2);
+0
实际上这是一个不幸的例子 - 即使没有==重载,字串实习也会使其成为真实的。 – 2010-08-11 17:59:09
+0
@Jon - 我忘记了 - cantcha告诉它几乎是家乡时间! :S – Rob 2010-08-11 18:22:23
0
请查看我们自己的主人John Skeet从他的书“C#深度”中的章节Strings in C# and .NET。它告诉你所有你需要知道的。
相关问题
- 1. 字符串是值类型还是引用类型?
- 2. 确定类型是引用类型还是值类型
- 3. 静态类是引用类型还是值类型?
- 4. 值类型字段是引用类型?
- 5. !ClrStack局部变量 - 它是值类型还是引用类型
- 6. 对象是引用类型还是值类型?
- 7. 动态 - 它是引用类型还是值类型?
- 8. 是列出值类型还是引用类型?
- 9. 如何确定T是泛型中的值类型还是引用类?
- 10. “无法下标类型的值‘[字符串]’与类型的索引‘字符串’
- 11. 球拍(和类型球拍)是强类型还是轻类型?
- 12. WCF DataContracts应该是值还是引用类型?
- 13. 检查使用反射如果属性是IEnumerable只有引用类型,但不是字符串或值类型
- 14. 是可空类型的引用类型?
- 15. msvc数据类型字是有符号还是无符号?
- 16. 字符串转换类型类类型
- 17. 整型refrence字符串类型值
- 18. 字符串&引用返回类型C++?
- 19. T是参数类型还是类类型?
- 20. 字符串不是()的子类型
- 21. JavaScript字符串是原始类型?
- 22. 字符串是参考类型
- 23. 什么是#define字符串的类型?
- 24. 什么是“双”字符串类型?
- 25. Haxe是强类型还是弱类型(或者两者都是?)
- 26. 字符串VS当两个是引用类型
- 27. 是字符型或字符串类型的str [0]?
- 28. 如何确定DataColumn的类型是数字,字符串还是日期时间?
- 29. 列出存储句柄/引用还是它们的值类型?
- 30. 字符串类型
闭幕票为“主观和议论”?关于这个问题,主观是什么? – Rob 2010-08-11 15:28:49
对于这个问题,这个“不是一个真正的问题”? – 2010-08-11 17:45:42