Повторение — безопасность при работе с null
Часть раздела Логика и управление потоком путешествия по C# на Coddy. Урок 35 из 66.
Задание
ЛегкоСоздайте метод с именем SafelyProcessData, который принимает два параметра:
- строку
name, которая может быть null - nullable int
age
Метод должен:
- Проверить, является ли
namenull или пустым, используя подходящие шаблоны проверки null - Проверить, имеет ли
ageзначение - Вернуть отформатированную строку следующим образом:
- Если
nameравен null, вернуть "No name provided" - Если
nameпустой или состоит из пробелов, вернуть "Invalid name" - Если
ageравен null, вернуть "Name: [name], Age: Unknown" - В противном случае вернуть "Name: [name], Age: [age]"
- Если
Убедитесь, что вы используете техники защитного программирования для обработки всех возможных сценариев с null!
Попробуйте сами
using System;
class Program
{
// Реализуйте метод SafelyProcessData здесь
static void Main(string[] args)
{
string nameInput = Console.ReadLine();
string ageInput = Console.ReadLine();
// Обработайте случай, когда ввод является строкой "null"
string name = nameInput == "null" ? null : nameInput;
int? age = null;
if (ageInput != "null")
{
age = int.Parse(ageInput);
}
string result = SafelyProcessData(name, age);
Console.WriteLine(result);
}
}Все уроки раздела Логика и управление потоком
1Многомерные массивы
Основы 2D-массивовОбъявление и инициализация 2D-массивовДоступ к элементам 2D-массиваВложенные циклы с 2D-массивамиЗубчатые массивыОсновные операции с матрицамиПовторение — многомерные массивы4Методы управления потоком выполнения
Досрочный выходЗащитные условияОператоры перехода (goto)Break и ContinueУпрощение вложенных условных конструкций7Логические операторы: продвинутый уровень
Вычисление с коротким замыканиемУсловные логические операторыПриоритет операторовПовторение — продвинутые операторы2Продвинутое принятие решений
Множественные условияСложная логика BooleanСравнение If и SwitchВложенные конструкции SwitchПовторение — продвинутые решения5Обработка исключений
Основы Try-CatchТипы исключенийНесколько блоков CatchРабота с файламиБлок FinallyИспользование Using вместо Try-FinallyПользовательские исключенияПовторение — обработка ошибок3Улучшение циклов
Производительность цикловИтерация по сложным структурамКаждый тип циклаРефакторинг цикловПовторение — оптимизированные циклы6Обработка null
Основы ссылок на nullТипы значений, допускающие nullШаблоны проверки на nullЗащитное программированиеПовторение — безопасность при работе с nullПотренируйтесь самостоятельно: Онлайн-компилятор C#