Страницы

Поиск по вопросам

пятница, 29 ноября 2019 г.

Конвертация массива string в массив int C# одной строкой кода

#c_sharp


Как можно конвертировать строку чисел, разделённых пробелом, в массив int одной строкой
кода?

Поделил на строки, но как конвертировать это в массив int, не создавая дополнительного
массива string, не знаю.

int [] Mas = textBox1.Text.Split(' ')

    


Ответы

Ответ 1



Попробуйте следующее int[] a = textBox1.Text.Split(' ').Select(x => int.Parse(x)).ToArray(); Правильнее будет написать int[] a = textBox1.Text.Split(' '). Where(x => !string.IsNullOrWhiteSpace( x )). Select(x => int.Parse(x)).ToArray();

Ответ 2



Раз уж пошел такой codegolf... короткий вариант без LINQ, если не нужно вырезать пробелы: Array.ConvertAll(text.Split(),int.Parse); чуть более длинный вариант для случая, когда нужно вырезать пробелы: Array.ConvertAll(Regex.Split(text,@"\s+"),int.Parse); Минимальные варианты через LINQ без/c RemoveEmptyEntries text.Split().Select(int.Parse).ToArray(); text.Split(new[]{' '},StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();

Ответ 3



int[] result = textBox1.Text.Split( new[]{" "}, StringSplitOptions.RemoveEmptyEntries ).Select(x => int.Parse(x)).ToArray();

Ответ 4



int[] a = textBox1.Text.Split(' ').Select(int.Parse).ToArray();

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

Отправить комментарий