Menu
CoddyTech

回顾:空值安全

本课属于 Coddy C# 学习旅程的“逻辑与流程”单元。第 35 课,共 66 课。

challenge icon

挑战

简单

创建一个名为 SafelyProcessData 的方法,它接受两个参数:

  1. 一个可能为 null 的字符串 name
  2. 一个可为 null 的 int age

该方法应:

  1. 使用适当的 null 检查模式,检查 name 是否为 null 或空
  2. 检查 age 是否有值
  3. 按以下方式返回格式化字符串:
    • 如果 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);
    }
}

逻辑与流程中的所有课

自己练习: C# 在线编译器