switch case语句块变量赋值问题?头疼

满天都是小星星_1 2017-07-21 09:21:58

IClassifyGEN pClassify;//数据分级
switch (form0.comboBox2.SelectedItem.ToString())
{
case "自定义间隔":
{
pClassify = new DefinedIntervalClass();
}
break;
case "相等间隔":
{
pClassify = new EqualIntervalClass();
}
break;
}
//进行分级
pClassify.Classify(dataValues, dataFrequency, ref numClasses);

如代码,最后一行报错:使用了未赋值的局部变量 pClassify
switch case 语句不能对变量赋值吗?
如果不能,又该咋办,实现根据case项,对pClassify动态实例化类?
...全文
1250 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢两位大大
exception92 2017-07-21
  • 打赏
  • 举报
回复
pClassify为null说明switch条件都不满足,应该再增加一个分支Default 赋默认值。而且在调用方法之前应判断pClassify是否为null。
Anonymous477 2017-07-21
  • 打赏
  • 举报
回复
定义的时候赋初值null IClassifyGEN pClassify=null;

110,560

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧