If have the following code. Where you see the XXX I would like to put in an array of type long[].
How can I do this and how would I fetch values from the dictionary? Do I just use defaultAmbience["CountryId"][0] to get the first element?
public static Dictionary<string, object> defaultAmbience = new Dictionary<string, object>
{
{ "UserId", "99999" },
{ "CountryId", XXX },
{ "NameDefaultText", "nametext" },
{ "NameCulture", "it-IT" },
{ "NameText", "namelangtext" },
{ "DescriptionDefaultText", "desctext" },
{ "DescriptionCulture", "it-IT" },
{ "DescriptionText", "desclangtext" },
{ "CheckInUsed", "" }
};
First Off:
If you don't know the type of the value OR the key, then don't use the Generic Dictionary.
.NET Generics are best suited for when you know the types ahead of time. .NET also provides an entire set of collections for use when you want to store a "mixed bag" of objects of different types.
In this case, the equivalent of the Dictionary would be the HashTable.
Check out the System.Collections (rather than System.Collections.Generic) namespace to see the rest of the options you have.
If you know the type of the key, then what you're doing is the right way.
Secondly:
When you retreive the value...you're going to need to cast the object back out to its original type:
long[] countryIds = (long[]) defaultAmbience["CountryId"];
or
// To get the first value
long id = ((long[])defaultAmbience["CountryId"])[0];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With