回顾:空值安全
本课属于 Coddy C# 学习旅程的“逻辑与流程”单元。第 35 课,共 66 课。
挑战
简单创建一个名为 SafelyProcessData 的方法,它接受两个参数:
- 一个可能为 null 的字符串
name - 一个可为 null 的 int
age
该方法应:
- 使用适当的 null 检查模式,检查
name是否为 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);
}
}逻辑与流程中的所有课
自己练习: C# 在线编译器