using System.Collections.Generic;
public static void Main()
List<Product> products = Product.GetSampleProducts();
List<Supplier> suppliers = Supplier.GetSampleSuppliers();
products.Add(new Product("Assassins"));
var filtered = from Product p in products
foreach(Product product in filtered)
Console.WriteLine(product);
public Product(string name, decimal? price = null)
public string Name { get; private set; }
public decimal? Price { get; private set; }
public int SupplierID { get; private set; }
public static List<Product> GetSampleProducts()
return new List<Product>()
new Product { Name = "West Side Story", Price = 9.99m, SupplierID = 1 },
new Product {Name = "Frogs", Price = null, SupplierID = 2 }
public override string ToString()
return $"{Name} : {Price}";
public string Name { get; private set; }
public int SupplierID { get; private set; }
public static List<Supplier> GetSampleSuppliers()
return new List<Supplier>()
new Supplier { Name = "Supplier1", SupplierID = 1 },
new Supplier {Name = "Supplier2", SupplierID = 2 }