Ok...here's a softball question...
I just need to be able to insert a key/value pair into an object at a specific position. I'm currently working with a Hashtable which, of course, doesn't allow for this functionality. What would be the best approach?
UPDATE: Also, I do need the ability to lookup by the key.
For example...oversimplified and pseudocoded but should convey the point
// existing Hashtable myHashtable.Add("somekey1", "somevalue1"); myHashtable.Add("somekey2", "somevalue2"); myHashtable.Add("somekey3", "somevalue3"); // Some other object that will allow me to insert a new key/value pair. // Assume that this object has been populated with the above key/value pairs. oSomeObject.Insert("newfirstkey","newfirstvalue");
Thanks in advance.
To add key-value pair in C# Dictionary, firstly declare a Dictionary. IDictionary<int, string> d = new Dictionary<int, string>(); Now, add elements with KeyValuePair.
Object keys can be dynamically assigned in ES6 by placing an expression in square brackets. Syntax: var key="your_choice"; var object = {}; object[key] = "your_choice"; console. log(object);
List<KeyValuePair<string, string>> kvpList = new List<KeyValuePair<string, string>>() { new KeyValuePair<string, string>("Key1", "Value1"), new KeyValuePair<string, string>("Key2", "Value2"), new KeyValuePair<string, string>("Key3", "Value3"), }; kvpList.Insert(0, new KeyValuePair<string, string>("New Key 1", "New Value 1"));
Using this code:
foreach (KeyValuePair<string, string> kvp in kvpList) { Console.WriteLine(string.Format("Key: {0} Value: {1}", kvp.Key, kvp.Value); }
the expected output should be:
Key: New Key 1 Value: New Value 1 Key: Key 1 Value: Value 1 Key: Key 2 Value: Value 2 Key: Key 3 Value: Value 3
The same will work with a KeyValuePair or whatever other type you want to use..
Edit -
To lookup by the key, you can do the following:
var result = stringList.Where(s => s == "Lookup");
You could do this with a KeyValuePair by doing the following:
var result = kvpList.Where (kvp => kvp.Value == "Lookup");
Last edit -
Made the answer specific to KeyValuePair rather than string.
Maybe the OrderedDictonary will help you out.
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