初探String型別

2022-02-16 23:57:52 字數 627 閱讀 5682

最近一直糾結著string型別,一直想著這個問題:

**

using

system;

using

system.collections.generic;

using

system.text;

namespace

test}}

大家先看一下**。定義了乙個str1,再定義乙個str2,把str1賦值給str2,為什麼修改了str1之後,str2的值不會改變呢?

一開始,我是認為str1和str2都是指向同乙個引用的(事實上確實如此)。但是當我修改了str1的值為bbb之後,str2的值

竟然沒有跟著改變,於是我就想,是不是他們一開始就不是指向同乙個位址呢???一開始的str2=str1..是不是只是把str1的

值賦給str2指向的位址呢?

於是我上網查了查資料,原來,str1和str2一開始時指向同乙個位址單元的,但是當str1的值改變之後,str1就會指向"bbb"

的記憶體位址,而不再指向"aaa"的位址了,所以輸出str2的時候仍然是aaa。也就是str1="bbb"的時候,是不會修改str1所指向

的記憶體位址的值的,只會重新分配記憶體單元給新的string型別,這個也就是string的特點。

String型別詳解

第一篇 你真的了解.net中的string 注 來自於網路 string在任何語言中,都有它的特殊性,在.net中也是如此。它屬於基本資料型別,也是基本資料型別中唯一的引用型別。字串可以宣告為常量,但是它卻放在了堆中。希望通過本文能夠使大家對.net中的string有乙個深入的了解。一 不可改變物件...

標準string型別

1.string物件定義和初始化 初始化 string s1 預設建構函式s1為空串 string s2 s1 將s2初始化為s1的乙個副本 string s3 value 將s3初始化為字面值副本 string s4 n,c 將s4初始化為n個 c 的副本 注意 字串字面值和string型別不是同...

String型別詳解

字串是乙個特殊的物件,從api文件的對string宣告 public final class 中可以看出該類不可以被繼承。以上是對字串的描述,接下來通過例項展現string的型別的一些用法 很多人碰到這個問題 string s 123 這裡有幾個物件。在這裡,s為類型別變數,123 為乙個物件。變數...