Каков наилучший подход к объединению двух объектов в списке на С#?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Каков наилучший подход к объединению двух объектов в списке на С#?

Сообщение Гость »


У меня есть список ниже, где LineId может быть таким же. В таких случаях я хочу объединить их там, где они распространены. т. е., если LineId один и тот же, суммируйте Цена, Итого, AccountingTotal и объедините Описание текст.

Я думаю, что мой метод не является оптимальным, если этот список огромен.
[*]Как я могу повысить эффективность этой работы? [*]Как лучше всего добиться того же результата?
{ «Линии»: [ { «Идентификатор»: 1, «Бухгалтерский итог»: 10.2, «Описание»: «Описание 1», «Цена»: «10.00», «Итого»: «10.00», "Идентификатор линии": "803" }, { «Идентификатор»: 2, «Бухгалтерский итог»: 10, «Описание»: «Описание 2», «Цена»: «10.00», «Итого»: «10.00», "Идентификатор линии": "804" }, { «Идентификатор»: 3, «Бухгалтерский итог»: 10.2, «Описание»: «Описание 3», «Цена»: «10.00», «Итого»: «10.00», "Идентификатор линии": "803" } ] } Желаемый список:

{ «Линии»: [ { «Идентификатор»: 1, «Бухгалтерский итог»: 20,4, «Описание»: «Описание 1 | Описание 3», «Цена»: «20.00», «Итого»: «20.00», "Идентификатор линии": "803" }, { «Идентификатор»: 2, «Бухгалтерский итог»: 10, «Описание»: «Описание 2», «Цена»: «10.00», «Итого»: «10.00», "Идентификатор линии": "804" } ] } Код:
// Данные вар строки = новый список { новая линия { Идентификатор = 1, Бухгалтерский итог = 10,2, Описание = "Описание 1", Цена = "10,00", Итого = "10,00", Идентификатор линии = "803" }, новая линия { Идентификатор = 2, Бухгалтерский итог = 10,2, Описание = "Описание 2", Цена = "10,00", Итого = "10,00", Идентификатор линии = "804" }, новая линия { Идентификатор = 3, Бухгалтерский итог = 10,2, Описание = "Описание 3", Цена = "10,00", Итого = "10,00", Идентификатор линии = "803" } }; вар objNew = новый список(); for (var i = 0; я x.First()).ToList();
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»