C# 用switch向ArrayList添加员工无报错但添加失败问题求助
问题根因
你在case 2(新增员工分支)中,只完成了用户输入信息的读取,没有实例化Employee对象,也没有将对象添加到employees列表中,所以列表永远是空的。
修复方法
在case 2的最后一行(读取完雇佣日期后、break之前)添加两行代码即可:
Employee newEmp = new Employee(name, level, hiringDate); employees.Add(newEmp);
其他需要注意的潜在问题
- 选项6无法正常触发退出逻辑:当前仅
default分支直接return,选项6没有匹配的case分支,用户选6会直接终止程序,建议新增case 6: exit = true; break;分支,走正常的循环结束逻辑 - 空列表操作会触发崩溃:列表为空时选择1、3、5选项都会抛出异常,建议执行对应操作前先判断
employees.Count > 0,再执行后续逻辑 - 非法输入会导致程序崩溃:所有
int.Parse、DateTime.Parse方法都没有做异常校验,建议替换为TryParse类方法做输入合法性校验,避免非法输入直接终止程序
内容的提问来源于stack exchange,提问作者Barış Seyitoğlu
相关产品推荐
相关产品推荐

