То, что вы делаете, звучит как словарь (Dictionary<string, List<Company>>
). Пожалуйста, предоставьте некоторый исходный код в вашем вопросе.
Нет встроенного способа сериализации словаря, но вы можете создать свой собственный класс. Я оставлю это в качестве упражнения для Google, чтобы:)
Если вы хотите продолжить сериализацию таким же образом, но отделить от известного члена, который находится внутри объектов (и член всегда один и тот же), вы можете использовать запрос LINQ для извлечения объектов с коротким кодом:
IEnumerable<Company> companiesFromFile = GetDeserializedFile();
var dictionaryFromFile = companiesFromFile.ToDictionary(c => c.Name);
Затем, если вам нужно разделить списки, вы можете сделать это через:
List<Company> toyotaList = dictionaryFromFile["Toyota"];
// etc