You must first determine the selection, and then add it to the incoming list:
var range = Enumerable.Range(1, 5); var customers = from i in range select (i % 2 == 0) ? new CustomerInfo { CountryCode = "USA", CustomerAddress = "US Address" + i, CustomerName = "US Customer Name" + i, ForeignAmount = i * 50 } : new CustomerInfo { CountryCode = "UK", CustomerAddress = "UK Address" + i, CustomerName = "UK Customer Name" + i, ForeignAmount = i * 80 }; lstCustinfo.AddRange(customers);
Or perhaps even more explicit:
var range = Enumerable.Range(1, 5); var usCustomers = from i in range where i % 2 == 0 select new CustomerInfo { CountryCode = "USA", CustomerAddress = "US Address" + i, CustomerName = "US Customer Name" + i, ForeignAmount = i * 50 }; var ukCustomers = from i in range where i % 2 != 0 select new CustomerInfo { CountryCode = "UK", CustomerAddress = "UK Address" + i, CustomerName = "UK Customer Name" + i, ForeignAmount = i * 80 }; lstCustinfo.AddRange(usCustomers.Union(ukCustomers));
Peter Lillevold
source share