Информация об изменениях

Сообщение Re: Изменение массива данных от 17.12.2024 7:57

Изменено 17.12.2024 7:58 Doom100500

Re: Изменение массива данных
Здравствуйте, snaphold, Вы писали:

S>Есть массив объектов типа Card {amount : decimal, currency : string} полученных из базы.

S>Надо на фронт отправить пользователю всё в одной валюте и для этого есть метод ApplyCurrencyRate в репозитории который к уже полученному из базы массиву применяет курс валюты выбранной пользователем.

S>какой вариант лучше:


S>
S>List<ApplyCurrencyRate> ApplyCurrencyRate(List<ApplyCurrencyRate> list, Dictionary<string, decimal> rates)
S>{
S>  var result = list;
S>  Array.Foreach(result, ....);
S>  return result;
S>}

S>void ApplyCurrencyRate(List<ApplyCurrencyRate> list, Dictionary<string, decimal> rates)
S>{   
S>  Array.Foreach(list, ....);
S>}
S>


Первый вариант мутабельный, второй — имутабельный. Тебе нужно именно то, что соответствует твоей задаче. Если не хочешь менять / опасно менять / не под твоим контролем исходный лист — делай имутабельно.
Re: Изменение массива данных
Здравствуйте, snaphold, Вы писали:

S>Есть массив объектов типа Card {amount : decimal, currency : string} полученных из базы.

S>Надо на фронт отправить пользователю всё в одной валюте и для этого есть метод ApplyCurrencyRate в репозитории который к уже полученному из базы массиву применяет курс валюты выбранной пользователем.

S>какой вариант лучше:


S>
S>List<ApplyCurrencyRate> ApplyCurrencyRate(List<ApplyCurrencyRate> list, Dictionary<string, decimal> rates)
S>{
S>  var result = list;
S>  Array.Foreach(result, ....);
S>  return result;
S>}

S>void ApplyCurrencyRate(List<ApplyCurrencyRate> list, Dictionary<string, decimal> rates)
S>{   
S>  Array.Foreach(list, ....);
S>}
S>


Первый вариант мутабельный, второй — имутабельный. Тебе нужно именно то, что соответствует твоей задаче. Если не хочешь менять / опасно менять / не под твоим контролем исходный лист — делай имутабельно.

ПС: имутабельно безопаснее.