[英]Possibly silly question about strings and references in C#
下午好,
我很抱歉,如果這個問題太傻了,但我對.Net的內存管理系統知之甚少(幾乎所有事情),我真的需要澄清這個疑問......我有一個Dictionary<String, Int32>
我需要使用它,現在我需要一個樹,其節點用同一個字典中的字符串標記。 當然,由於我不想存儲冗余信息,如何確保節點的標簽指向與字典鍵相同的引用?
非常感謝你,
字符串是引用類型,因此除非您執行某些操作,否則它將是默認值。
例如,對於一個asp.net頁面(我知道你沒有指定),在客戶端顯示的字符串不能與服務器內存中的字符串具有相同的引用。
你可以使用這樣的東西:
TreeNode node = new TreeNode();
node.Text = dictionary.Keys[0];
它將是同一個實例。
由於String是引用類型,因此在使用對String對象的引用引用字典條目時必須非常謹慎。 你顯然可以,但它有時是不可能的(就像漢斯提到的不同客戶端 - 服務器引用一樣)如果你知道你在做什么,使用引用,但如果沒有,你總是可以比較字符串的值('等於'方法)到參考字典元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.