C# 複製和複製認識淺談2

來源:互聯網
上載者:User

標籤:asp.net   c#   winform   hashtable   

接上篇博文

private void Form1_Load(object sender, EventArgs e)        {            Hashtable ht = new Hashtable();            GetValue(ht);        }        private void GetValue(Hashtable ht)        {            Hashtable newhash = new Hashtable();            newhash = ht;            newhash.Add("qq", "33");        }

上面情況,如果表單載入完畢之後,ht和newhash的值是相同,因為hashtable是參考型別,在調用hashtable時,將ht的指標賦值給了newhash,在newhash.Add("qq",23);

之後,ht和newhash的指標指向同一個地址,故而ht的值也變了,如果此時不需要ht變化,則可以使用clone(),

複製:簡單字面意思就是重新創造一個出來,當然這個clone()出來的是副本,指向的地址和使用的記憶體空間肯定不一樣,這樣就可以了,

 Hashtable ht = new Hashtable();
 ht.CopyTo(array,startindex);

還有這個,這個是將hashtable複製到一維數組,在具體工作中應用也比較多,

總而言之,遇到以上情況使用複製即可,hashtable淺談就到這裡,文章簡陋,語句笨拙還請見諒,歡迎斧正

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.