public void FillPortion(IEnumerable <TableRow> rows) { foreach (var row in rows.Select(row => new { ov = (((object[])((object[])row.Row)[1]))[2].ToOVariant(), offset = row.Offset }) .Where(arg => arg.ov.Variant == ObjectVariantEnum.Str)) { List <long> list; var s = row.ov.ToString(); if (nametable.TryGetValue(s, out list)) { list.Add(row.offset); } else { nametable.Add(s, new List <long>()); } } }