Может ли кто-нибудь помочь мне, объяснив это - PullRequest
0 голосов
/ 03 ноября 2019
int[] a = Array.ConvertAll(Console.ReadLine().Split(' '), aTemp => Convert.ToInt32(aTemp));

Поскольку это не традиционный метод размещения элементов, может кто-нибудь объяснить это?

1 Ответ

1 голос
/ 03 ноября 2019

Этот код читает строку из консоли, наивно ожидает, что пользователь вставит группу целых чисел, разделенных пробелом, и заполняет массив целыми числами int.

Console.ReadLine() читает строку текста от пользователя.
Split(' ') разбивает строку по пробелам, в результате чего получается массив строк.
ConvertAll занимаетв массиве одного типа и возвращает массив другого типа, используя метод преобразования, который он принимает в качестве параметра.
aTemp => Convert.ToInt32(aTemp) - это тот метод преобразования, как лямбда-выражение.

Я написал, что «наивно ожидать, что пользователь ...», потому что вы никогда не должны доверять вводу пользователя. Если пользователь введет значение, такое как 1 gr 4 6, этот код будет нарушен за исключением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...