猿问

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

list报错 实用为赋值的                 ‘’‘’‘’‘’‘’‘’‘’                             谢谢大家
aluckdog
浏览 434回答 8
8回答

慕运维8079593

你的list是在第一个case里吧 把list拿到个边 去

红颜莎娜

报错的原因在于你实例化的那个数组。与list无关。 我记得 数组需要一个实际存在的count值吧 来声明数字个数,可能那个count存在null的可能。

慕村225694

第一个case里的数组就没报错啊

HUWWW

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,只有运行时才会报错,编译不会。

慕雪6442864

你的list是在上一个case里命名的?

喵喔喔

你还不如再用一个list呢

明月笑刀无情

敢不敢把list放到switch外面,并实例化后在试试?
随时随地看视频慕课网APP
我要回答