Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
I have a list of objects, each containing an Id, Code and Description.
I need to convert this list into a Hashtable, using Description as the key and Id as the
I need to convert this list into a Hashtable, using Description as the key and Id as the value.
This is so the Hashtable can then be serialised to JSON.
Is there a way to convert from List<Object> to Hashtable without writing a loop to go through each item in the list?
If you have access to Linq, you can use the ToDictionary function.
Let's assume that your List contains objects of type Foo (with an int Id and a string Description).
You can use Linq to turn that list into a Dictionary like this:
var dict = myList.Cast<Foo>().ToDictionary(o => o.Description, o => o.Id);
如果您有权访问 Linq,则可以使用ToDictionary函数。
theList.ForEach(delegate(theObject obj) { dic.Add(obj.Id, obj.Description); });
Also look at the System.Collections.ObjectModel.KeyedCollection<TKey, TItem>. It seems like a better match for what you want to do.
System.Collections.ObjectModel.KeyedCollection<TKey, TItem>