Общий список. Присоединяйтесь - PullRequest
3 голосов
/ 28 декабря 2010

У меня есть объект

public class Title
    {
        public int Id {get; set; }
        public string Title {get; set; }
    }

Как объединить все заголовки с "-" в List<Title>?

Ответы [ 2 ]

11 голосов
/ 28 декабря 2010

Я думаю, что это должно дать вам то, что вы ищете.Это выберет свойство Title из каждого объекта в строковый массив, а затем объединит все элементы этого массива в разделенную '-' строку.

List<Title> lst = new List<Title>
                    { 
                        new Title{Id = 1, Title = "title1"}, 
                        new Title{Id = 2, Title = "title2"} 
                    }
String.Join("-", lst.Select(x => x.Title).ToArray());

Если вы используете .NET 4.0 или новее,теперь существует перегрузка на String.Join, которая позволит вам опустить .ToArray():

String.Join("-", lst.Select(x => x.Title));
2 голосов
/ 28 декабря 2010
list.Select(x => x.Title).Aggregate((current, next) => current + "-" + next);

должен вернуть строку из них, все в цепочке -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...