Структура данных C# для хранения пары KeyValue с идентификаторами, отличными от «ключа» и «значения» - PullRequest
3 голосов
/ 05 марта 2020

У меня есть список книг и цены, сохраненные в List<KeyValuePair<string, double>>, я хочу отправить этот список в вызове REST, я преобразовываю его в JObject, а затем отправляю как тело моего вызова. Он прибывает в интерфейс REST, выглядящий примерно так:

{"key":BookSample1,"value":"17.99"},
{"key":BookSample2,"value":"21.99"},
{"key":BookSample3,"value":"45.49"}

Моя проблема в том, что интерфейс ожидает что-то вроде этого:

{"Title":BookSample1,"newPrice":"17.99"},
{"Title":BookSample2,"newPrice":"21.99"},
{"Title":BookSample3,"newPrice":"45.49"}

Я знаю, что key и value только для чтения. Есть ли способ, которым я могу редактировать список таким образом или другую структуру данных, которая позволила бы мне сделать это

1 Ответ

4 голосов
/ 05 марта 2020

Преобразование исходного списка KeyValuePairs в новый список анонимных объектов:

theList.Select(kvp => new { Title = kvp.Key, NewPrice = kvp.Value }).ToList();

Сериализация этого объекта даст вам правильные имена переменных.

...