using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
Dictionary<string, School> schoolsAsDictionary = new Dictionary<string, School>();
schoolsAsDictionary.Add("s1", new School() { SchoolId = "s1", Name = "One" });
schoolsAsDictionary.Add("s2", new School() { SchoolId = "s2", Name = "Two" });
schoolsAsDictionary.Add("s3", new School() { SchoolId = "s3", Name = "Three" });
schoolsAsDictionary.Add("s4", new School() { SchoolId = "s4", Name = "Four" });
Person person = new Person();
person.OrganisationUserData = new List<OrganisationUserDataItem>();
person.OrganisationUserData.Add(new OrganisationUserDataItem() { SchoolId = "s1" });
person.OrganisationUserData.Add(new OrganisationUserDataItem() { SchoolId = "s2" });
person.OrganisationUserData.Add(new OrganisationUserDataItem() { SchoolId = "s3" });
person.OrganisationUserData.Add(new OrganisationUserDataItem() { SchoolId = "s4" });
person.OrganisationUserData.Add(new OrganisationUserDataItem() { SchoolId = "s5" });
var personSchools = person.OrganisationUserData.Select(s => s.SchoolId).Distinct().Select(s => schoolsAsDictionary[s]).ToArray();
public string SchoolId { get; set; }
public string Name { get; set; }
public string Id { get; set; }
public string Name { get; set; }
public List<OrganisationUserDataItem> OrganisationUserData { get; set; }
public class OrganisationUserDataItem
public string SchoolId { get; set; }