Проверить каждый член коллекции целых чисел (вводимых пользователем) на принадлежность к string или int
Проблема на первый взгляд была проста, но оказалась сложнее. Помогите пж не могу понять как решить.
Нужно заполнить коллекцию целых чисел (15) данными вводимыми пользователем, и при этом проверить принадлежит ли каждый из них к int или к string.
- В случае если все данные
intвывести коллекцию. - В случае если данные типа
string, оповестить в консоль об ошибке.
Если непонятно объяснил то задание в видео: (Циклы C# (for, foreach, while) - Учим Шарп #7)(1:01:52)
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Вот вам пример, изучайте. Здесь и while и for, только foreach я заменил на string.Join. И условия и интерполяция строк, и int и int[] массив.
Выполните код пошагово в режиме отладки, проверяйте значения переменных, смотрите как работает. Пробуйте многократно вводить не числа или дробные числа.
static void Main(string[] args)
{
Console.Write("Введите количество чисел n от 1 до 15: ");
int n;
while (!int.TryParse(Console.ReadLine(), out n) || n < 1 || n > 15)
{
Console.Write("Некорректный ввод, введите n от 1 до 15: ");
}
int[] a = new int[n];
for (int i = 0; i < n; i++)
{
Console.Write($"Введите a[{i}]: ");
while (!int.TryParse(Console.ReadLine(), out a[i]))
{
Console.Write($"Не удалось распознать число, введите a[{i}]: ");
}
}
Console.WriteLine($"Вы ввели {n} чисел:");
Console.WriteLine(string.Join(", ", a));
Console.ReadKey();
}