Search code examples
c#listhashtable

How can I convert List<object> to Hashtable in C#?


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 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?


Solution

  • 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);