为了账号安全,请及时绑定邮箱和手机立即绑定

帮忙看一下 为什吗第二个case 的 string[] items = new string[list.Count]; list报错

帮忙看一下 为什吗第二个case 的 string[] items = new string[list.Count]; list报错

aluckdog 2018-12-07 04:17:03
list报错 实用为赋值的                 ‘’‘’‘’‘’‘’‘’‘’                             谢谢大家
查看完整描述

8 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

你的list是在第一个case里吧 把list拿到个边 去
查看完整回答
反对 回复 2018-12-09
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

报错的原因在于你实例化的那个数组。与list无关。 我记得 数组需要一个实际存在的count值吧 来声明数字个数,可能那个count存在null的可能。
查看完整回答
反对 回复 2018-12-09
?
慕村225694

TA贡献1880条经验 获得超4个赞

第一个case里的数组就没报错啊
查看完整回答
反对 回复 2018-12-09
?
HUWWW

TA贡献1874条经验 获得超12个赞

List list; switch (条件) {   case A     list=...; // 这里实例化了list     break;   case B // 这里肯定会报错     string[] items = new string[list.Count] break; } 因为没有实例化就使用引用变量,所以会报错,有两种办法,第一,把实例化放到条件外面,第二种情况比较特殊: List list; if (true){ list=...; } else{ list=...; } int count = list.Count; // 也会错? 需要这样用  List list = null;   OK ,就是说问题不仅仅是为null,并且是没有实例化,如果单纯为null,只有运行时才会报错,编译不会。
查看完整回答
反对 回复 2018-12-09
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

你的list是在上一个case里命名的?
查看完整回答
反对 回复 2018-12-09
?
喵喔喔

TA贡献1735条经验 获得超5个赞

你还不如再用一个list呢
查看完整回答
反对 回复 2018-12-09
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

敢不敢把list放到switch外面,并实例化后在试试?
查看完整回答
反对 回复 2018-12-09
  • 8 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信