Join custom objects into a concatenated string in .NET C#

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 various C# language feature related posts here.

Unknown's avatarAbout Andras Nemes
I'm a .NET/Java developer living and working in Stockholm, Sweden.

One Response to Join custom objects into a concatenated string in .NET C#

  1. bill mccollough's avatar bill mccollough says:

    Andras

    That’s old school. Use string interpolation.

    public override string ToString()
    {
    return $”Id: {Id} name: {Name} city: {City}”;
    }

Leave a comment

Elliot Balynn's Blog

A directory of wonderful thoughts

Software Engineering

Web development

Disparate Opinions

Various tidbits

chsakell's Blog

WEB APPLICATION DEVELOPMENT TUTORIALS WITH OPEN-SOURCE PROJECTS

Once Upon a Camayoc

ARCHIVED: Bite-size insight on Cyber Security for the not too technical.