public static void Main()
var carriers = new Carrier[]{ new Carrier{Id = 1, CarrierName = "Verizon"}, new Carrier{Id = 2, CarrierName = "ATT"}, new Carrier{Id = 3, CarrierName = "TMobile"} };
var authorizations = new Authorization[]{ new Authorization{IsAuthorized = true, CarrierName = "Verizon"}, new Authorization{IsAuthorized = false, CarrierName = "ATT"}};
var carrierAuthorizationList = carriers.Select(x=> {
return new CarrierAuthorization
CarrierName = x.CarrierName,
IsAuthorized = authorizations.Any(y=> y.CarrierName == x.CarrierName && y.IsAuthorized)
foreach(var item in carrierAuthorizationList)
Console.WriteLine(string.Format("{0} {1} {2}", item.Id, item.CarrierName, item.IsAuthorized));
public int Id {get; set;}
public string CarrierName {get; set;}
public class Authorization
public string CarrierName {get; set;}
public bool IsAuthorized {get; set;}
public class CarrierAuthorization
public int Id {get; set;}
public string CarrierName {get; set;}
public bool IsAuthorized {get; set;}