Join custom objects into a concatenated string in .NET C#
April 24, 2015 1 Comment
Say you have the following Customer object with an overridden ToString method:
public class Customer { public int Id { get; set; } public string Name { get; set; } public string City { get; set; } public override string ToString() { return string.Format("Id: {0}, name: {1}, city: {2}", Id, Name, City); } }
…and the following container of Customer objects:
IEnumerable<Customer> customers = new List<Customer>() { new Customer(){Id = 1, Name = "Nice customer", City = "London"} , new Customer(){Id = 2, Name = "Great customer", City = "Los Angeles"} , new Customer(){Id = 3, Name = "New customer", City = "Tokyo"} , new Customer(){Id = 4, Name = "Old customer", City = "Shangai"} };
Suppose you’d like to build a pipe-delimited string representation of the customers list. The static generic String.Join method helps you with that:
string concatenatedCustomers = string.Join<Customer>("|", customers);
This is what ‘concatenatedCustomers’ looks like:
Id: 1, name: Nice customer, city: London|Id: 2, name: Great customer, city: Los Angeles|Id: 3, name: New customer, city: Tokyo|Id: 4, name: Old customer, city: Shangai
In C#6 you’ll be able to perform string interpolation instead. Check out this link for more information on that topic.
View all posts related to string and text operations here.
Reblogged this on Dinesh Ram Kali..