Have you tried using the indexes and matching them with each other? e.g.
for (int i = 0; i < lpn.Count; i++)
{
Product selectedProduct = new Product();
selectedProduct.ProductName = lpn[i];
selectedProduct.ProductPrice = lpp[i];
Cart.Add(selectedProduct);
}