Creating a dictionary of strings and list of strings
Just get rid of the outer foreach as well:

dict = objectList.SelectMany(x =&gt; x.StringList)
       .Select(x =&gt; x.Split('_'))
       .GroupBy(x =&gt; x[0])
       .ToDictionary(x =&gt; x.Key, x =&gt; x.Select(g =&gt; g[1]).Distinct().ToList());


SelectMany retrieves all the StringLists and flattens them into one single list:

"A_1", "B_1", ..., "F_1", "A_2", "B_2", ...