Как я могу преобразовать строку [] в список <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();