Search code examples
c#asp.netstringperformance

Efficient way to join strings with a separator?


foreach (SessionTeacher sessionTeacher in sessionTeachers)
{
   Person person = EMS.PWDAL.DALHelper.GetPersonByID(sessionTeacher.PersonID);
   ltrlSpeakers.Text += person.Name1 + ", ";
}

here ltrlSpeakers.Text will have something like this "abc, def, " that is extra comma and space at the end which I have to remove.

// removing extra comma and space

ltrlSpeakers.Text = ltrlSpeakers.Text.ToString().Remove(ltrlSpeakers.Text.ToString().Length - 2, 2);

it's working fine but is there a better more efficient simple way?


Solution

  • Something like this:

    var personNames = sessionTeachers.Select(
          st => EMS.PWDAL.DALHelper.GetPersonByID(st.PersonID).Name1);
    ltrlSpeakers.Text = string.Join(", ", personNames);