Click here to Skip to main content
15,897,291 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi
I am using dictionary of type dictinary. and i am reading in loop some data.
first time when i fill dictianry 1 and dictianry 2 all is fine.
next i have to change data in the dictianry and add it to dictianry 1.
for this I am clearing dictianry 2.

and when i do this operation the previous data also get changed.

As dictianry is of reference type.

I need work around for this.

Anyone ahve any idea?
Posted
Comments
BobJanova 15-Mar-12 9:19am    
Not clear. You can clear a dictionary (i.e. remove all items) using Dictionary.Clear().
Sergey Alexandrovich Kryukov 15-Mar-12 22:51pm    
Dictionary of dictionary... do you mean one dictionary type is a key or a value in other dictionary? No, not clear. At least show your type in code.

And please explain why.
--SA

You need to do a deep copy. Have a look at the following links for more info:
http://msdn.microsoft.com/en-us/library/system.object.memberwiseclone.aspx[^]

Deep copy of objects in C#[^]

Good luck!
 
Share this answer
 
It's due to the way you're copying the data. You're essentially adding an additional reference to the same object, so when you change it in one dictionary, it also changes in the other.
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900