PowerShell如何实现选择数字后将对应部门赋值给$department变量
实现方案
以下是可直接运行的PowerShell代码,包含输入合法性校验,避免非法输入导致程序报错:
# 初始化部门映射数组,索引与选项编号对齐,首位留空简化匹配逻辑 $departmentOptions = @("", "Music", "Science", "PE", "Maths") # 输出全量部门列表 Write-Host "可用部门列表:" Write-Host "1. Music" Write-Host "2. Science" Write-Host "3. PE" Write-Host "4. Maths" # 获取用户输入 $userChoice = Read-Host "请输入1-4的数字选择对应部门" # 校验输入并给$department变量赋值 if ($userChoice -in 1..4) { $department = $departmentOptions[[int]$userChoice] # 可选:输出选择确认信息 Write-Host "已选中部门:$department" } else { Write-Host "输入无效,请输入1到4之间的整数" }
逻辑说明
- 数组第一个位置留空,是为了让用户输入的1-4数字直接对应数组的索引位,不需要额外做数值减1的转换,逻辑更直观
- 输入校验逻辑可以避免用户输入非数字、超出范围的内容时程序抛出异常
- 如果不需要校验,想要最简实现,可以使用下面的短代码:
Write-Host "1. Music`n2. Science`n3. PE`n4. Maths" $department = @("", "Music", "Science", "PE", "Maths")[[int](Read-Host "请选择部门(输入1-4)")]
内容的提问来源于stack exchange,提问作者Daniel De La Warr
相关产品推荐
相关产品推荐

