Как я могу преобразовать строку [] в список <int>?

Как я могу преобразовать массив строк в список int? (без преобразования их один за другим с помощью моего собственного метода)

От поиска в google я видел методы с именем ToList() и ConvetAll(), но я не мог их ввести, почему?

Я пробовал:

new list<int>((int[])s.Split(','));

и я получаю ошибку, что я не могу преобразовать строку [] в int []: (

Ответы

Ответ 1

Здесь есть двухэтапный процесс. Первый заключается в преобразовании строк в целое число, а затем преобразование массива в список. Если вы можете использовать LINQ, самый простой способ - использовать:

stringArray.Select(x => Int32.Parse(x)).ToList();

Ответ 2

Получение подсказки из вашего кода:

var listOfInts = s.Split(',').Select(Int32.Parse).ToList();

Ответ 3

Предполагая, что values - ваш список строк:

int[] ints = new int[values.Count];

int counter = 0;
foreach (string s in values) {
    ints[counter++] = int.Parse(s);
}

Не перекомментируйте себя:)

Ответ 4

var s = "1,2,3,4,5,6,7,8,9";
var result = s.Split(',').Select(Convert.ToInt32).ToList();

Ответ 5

Попробуйте использовать

int x = 0; 

var intList= stringList.Where(str => int.TryParse(str, out x)).Select(str => x).ToList();