Avinash Gupta Ответов: 1

Как вернуть пару ключ-значение, где функция возвращает список<строк>


Как я могу вернуть пару ключевых значений, где функция возвращает List<strings>.
Метод возвращает список строк выборки из базы данных, теперь я хочу, чтобы он возвращал его как пару ключевых значений, а не список только значений из базы данных.

Что я уже пробовал:

public List<string> GetLanguagesForMobile()
        {
            var result = _translationService.GetLanguagesForMobile();
            return result.Distinct().ToList();         
        }

Reponse:-
[
  "en",
  "es"
]

Required as:-
{ "english":"en",
"spanish":"es"}

phil.o

Откуда берутся "английские" и "испанские" ценности? Хранятся ли они в базе данных вместе с "en" и "es" соответственно?

Avinash Gupta

Нет,это должно быть жестко закодировано

Karthik_Mahalingam

жестко закодировано в переменной?
покажите код

Avinash Gupta

Я хочу, чтобы это был ключ для каждого возвращаемого значения

Karthik_Mahalingam

какую ценность вы получаете в результате?Отчетливый().Список();
и покажите, как вы храните отображение

Avinash Gupta

[ "эн",
"КС"
]

Вот что я получаю

Karthik_Mahalingam

это нормально , но как вы узнаете, что en принадлежит английскому языку, а es-испанскому

Avinash Gupta

Поэтому я должен присоединиться к другой таблице, которая имеет описание кодов?

Karthik_Mahalingam

тогда все просто.

1 Ответов

Рейтинг:
1

OriginalGriff

Вы не можете вернуть пару значений ключа или список пар значений ключа из метода, настроенного для возврата списка строк - C# строго типизирован и проверяет типы параметров!

Вы можете изменить метод возврата списка пар ключ значение:

List<KeyValuePair<string, string>> GetLanguagesForMobile()
   {
   ...
   }
Или словарь:
Dictionary<string, string> GetLanguagesForMobile()
   {
   ...
   }
И перекодируйте метод для генерации соответствующих данных - но если вы объявите метод как возвращающий тип, вы можете возвращать только этот тип или типы, производные от него.


PIEBALDconsult

Он может возвращать фрагмент XML или CSV. :D но это, кажется, выходит за рамки возможностей ОП.

OriginalGriff

Или JSON, или ...
Но да - вот почему я пытался объяснить, почему это не сработает!
По крайней мере, изменение подписи заставит его взглянуть на материал уже с помощью этого метода.

Как вы думаете, я должен был предложить список кортежей? :смеяться:

Richard MacCutchan

Как насчет списка словарей списков кортежей?