Просто для удовольствия и на тот случай, если вам нужно сделать что-то подобное с нестроковыми коллекциями один раз - версия LINQ с использованием Aggregate
, которая наиболее близка к вашему примеру синтаксиса.Не используйте это здесь, действительно используйте String.Join
в этом случае, но имейте в виду, что у вас есть что-то в LINQ, которое может делать то, что вам нужно.
MessageBox.Show("List contains: " +
list.Aggregate((str,val) => str + Environment.NewLine + val);
РЕДАКТИРОВАТЬ: также, как Мартиньо Фернандесуказал, что в таких случаях лучше использовать класс StringBuilder
, поэтому:
MessageBox.Show("List contains: " + list.Aggregate(new StringBuilder(),
(sb,val) => sb.AppendLine(val),
sb => sb.ToString()));