using System.Collections.Generic;
public static void Main()
List<EipBlock> list = new List<EipBlock>() { new EipBlock(1, new List<string> {"foo", "bar"}), new EipBlock(2, new List<string> {"marco", "polo"}) };
var dict = list.SelectMany(block => block.SearchStrings.Select(searchString => new KeyValuePair<string, EipBlock>(searchString, block))).ToDictionary(entry => entry.Key, entry => entry.Value);
Console.WriteLine(dict["bar"].Id);
public int Id { get; set; }
public List<string> SearchStrings { get; set; }
public EipBlock(int id, List<string> searchStrings) { Id = id; SearchStrings = searchStrings; }