练习 - 使用布尔表达式完成挑战活动

已完成

代码挑战将强化所学知识,有助于在继续操作之前增强自信。

决策逻辑挑战

在此挑战中,将基于一系列业务规则实现决策逻辑。 业务规则根据用户基于角色的权限及其职业生涯级别指定授予用户的访问权限。 代码分支根据用户的权限和级别向用户显示不同的消息。

初始化权限和级别值

  1. 确保在 Visual Studio Code 中打开了一个空的 Program.cs 文件。

    如有必要,请打开 Visual Studio Code,然后完成以下步骤,以在编辑器中准备 Program.cs 文件:

    1. 在“文件”菜单中,选择“打开文件夹”

    2. 使用“打开文件夹”对话框导航到 CsharpProjects 文件夹,然后打开。

    3. 在 Visual Studio Code 的“资源管理器”窗格中,选择“Program.cs”。

    4. 在 Visual Studio Code 的“选择”菜单上,选择“全选”,然后按 Delete 键。

  2. 在 Visual Studio Code 编辑器中键入以下代码:

    string permission = "Admin|Manager";
    int level = 55;
    
  3. 查看初始代码行。

    应用程序将结合使用 permissionlevel 来应用/评估此挑战方案中的业务规则。 下一步将指定业务规则的完整条件列表。 已完成的解决方案必须使用 permissionlevel

    小窍门

    若要充分测试以下业务规则中描述的所有组合 permissionlevel 需要为这些变量分配其他值,并多次运行应用程序。

实现业务规则

重要

需要使用 Contains() 帮助程序方法来确定分配给 permission 字符串的值是否包含“业务规则”指定的权限值之一。 例如,使用上述代码中指定的初始数据值时,表达式 permission.Contains("Admin") 将返回 true

以下是解决方案必须满足的“业务规则”

  • 如果用户是级别大于 55 的管理员,则输出消息:

    Welcome, Super Admin user.
    
  • 如果用户是级别小于或等于 55 的管理员,则输出消息:

    Welcome, Admin user.
    
  • 如果用户是级别大于或等于 20 的经理,则输出消息:

    Contact an Admin for access.
    
  • 如果用户是级别小于 20 的经理,则输出消息:

    You do not have sufficient privileges.
    
  • 如果用户不是管理员或经理,请输出消息:

    You do not have sufficient privileges.
    
  1. 更新 Program.cs 代码以适应每个业务规则。

  2. 保存代码。

使用建议的初始数据值测试解决方案

  1. 生成并运行代码。

  2. 评估输出。

    运行代码(包括初始配置数据)时,应看到以下输出:

    Welcome, Admin user.
    

测试其他业务规则

  1. 更新分配给 permissionlevel 的值。

  2. 保存并运行代码。

  3. 评估输出以验证是否满足其他业务规则。

无论是遇到问题而需要查看解决方案,还是成功完成操作,都请继续查看此挑战的一种解决方案。