Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to edit value data in a dictionary C# [duplicate]

Tags:

c#

dictionary

I have a dictionary of members where the key is a unique long ID and the value is an object which contains data on that members name surname and other forms of member details. Is there any way in C# that this can be done?

e.g

dictionary key holds memberID 0 member id 0 name is bob lives in Italy

bob moves to England

is there a way to update the dictionary in C# so that his entry now says he lives in England?

like image 258
MrFail Avatar asked Nov 03 '25 20:11

MrFail


1 Answers

Assuming that Member (or whatever) is a class, it's simple:

members[0].Country = "England";

You're just updating the object which the dictionary has a reference to. Just to step through it, it's equivalent to:

Member member = members[0];
member.Country = "England";

There's only one object representing Bob, and it doesn't matter how you retrieve it.

In fact, if you already have access to the instance of Member via a different variable, you don't need to use the dictionary at all:

// Assume this will fetch a reference to the same object as is referred
// to by members[0]...
Member bob = GetBob();
bob.Country = "England";

Console.WriteLine(members[0].Country); // Prints England

If Member is actually a struct... well, then I'd suggest rethinking your design, and making it a class instead :)

like image 104
Jon Skeet Avatar answered Nov 06 '25 11:11

Jon Skeet



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!