не удается преобразовать исключение ‘List’ в ‘string’

#c# #exception

#c# #исключение

Вопрос:

Я получаю исключение типа не удается преобразовать из ‘List’ в ‘string’, когда я объявляю список.

  var query = new List<string>(){
                    new List<string>{"a", "b","c"},
                    new List<string> {"a"}};
  

Я не смог обнаружить ошибку выше.Кто-нибудь может мне помочь в этом?

Ответ №1:

 var query = new List<List<string>>(){
                    new List<string>{"a", "b","c"},
                    new List<string> {"a"}};
  

Комментарии:

1. Это правильно. В основном мы объявляем список, который содержит list. И этот список содержит строковый тип данных.

2. @KaipaMSarma: Чтобы быть явным, мы не объявляем список list, мы объявляем список list of string. Если вы попытаетесь добавить список int во внешний список, вы получите ошибку во время разработки.

3. Я имею в виду то же самое, извините, если мое объяснение плохое; (

Ответ №2:

Вы не можете передать список в виде строки, вы должны сделать как показано ниже, если вам нужен список list of string:

  var query = new List<List<string>>(){
                new List<string>{"a", "b","c"},
                new List<string> {"a"}};
  

или сделайте, как показано ниже, если вам нужен список строк:

  var query = new List<string>(){"a", "b","c"};
  

Ответ №3:

Если вам нужен список строк, вы можете сделать то, что предлагают vc74 или Saeed. Если вы хотите получить единый список, содержащий все строки из двух других, вы можете сделать :

 var firstList = new List<string>{"a", "b","c"};
var secondList = new List<string>{"a", "b","c"};

var query = new List<string>();
query.AddRange(firstList);
query.AddRange(secondList);