Составьте список вместе из некоторых свойств и немного логики - PullRequest
1 голос
/ 30 марта 2011

Мне нужно объединить список строк, используя одно или два свойства из списка объектов, но это зависит от логики. Каждый элемент в списке должен быть строковым значением свойства 1 и свойства 2, объединенных вместе через дефис. Свойство UNLESS 1 имеет то же строковое значение, что и свойство 2, и в этом случае элемент будет просто свойством 1. Просто для пояснения, все объекты имеют одинаковый тип, и оба свойства являются строковыми значениями.

Вот пример, чтобы проиллюстрировать это на тот случай, если я не имел смысла ..

Object 1: Prop 1 = "Object 1", Prop 2 = "Object 1" // Same value
Object 2: Prop 1 = "Object 2", Prop 2 = "Obj 2"    // Different

Результирующий список =

[0] = "Object 1",
[1] = "Object 2-Obj 2"

Есть ли "аккуратный" способ сделать это, используя немного Linq или что-то, а не циклически проходить вручную?

1 Ответ

4 голосов
/ 30 марта 2011

как то так?

var result = allItems.Select(
    item=>
    item.Prop1==item.Prop2
       ? item.Prop1
       : String.Format("{0}-{1}",
          item.Prop1, item.Prop2)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...