是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