IF语句转换为SWITCH语句

时间:2012-11-17 19:48:04

标签: c# database asp.net-mvc-3 switch-statement

过去几天我一直试图解决这个问题但没有成功。我基本上拥有的是 4个数据库字段,它可以存储用户的图片,因此用户最多可以拥有4张图片。字段名称是picture1,picture2,picture3和picture4。 我想要做什么是当用户上传图片时,检查picture1是否为NULL然后保存图像文件名然后为下一张图片如果不是NULL则转到picture2然后保存在那里等等直到图片4。

有什么是这个:

if (openhouse.picture1 == null)
                {
                    openhouse.picture1 = changename;

                }
             // if picture2 is NULL and picture1 is not NULL then insert picture
if (openhouse.picture2 == null && openhouse.picture1 != null)
                {
                    openhouse.picture2 = changename;

                }
            // if picture3 is NULL and picture2 is not NULL then insert picture
if (openhouse.picture3 == null && openhouse.picture2 != null)

                {
                    openhouse.picture3 = changename;

                }
                // if picture4 is NULL and picture3 is not NULL then insert picture
  if (openhouse.picture4 == null && openhouse.picture3 != null)
                {
                    openhouse.picture4 = changename;

                }

正如您所看到的,我的问题是,只要您上传了相同图片上传到所有 4 字段的图片,因为 IF语句没有中断我的问题是:是否有某种方法我可以将这个if语句转换为一个switch语句,只要条件为true就会以这种方式使用BREAKS,它会停止评估其余语句。

1 个答案:

答案 0 :(得分:2)

无需转换语句 - 只需使用else if

if ( condition #1 )
{
    // block #1
}
else if ( condition #2 )
{
    // block #2
}

如果第一个条件为真,则不执行块#2。

if (openhouse.picture1 == null)
    openhouse.picture1 = changename;
else if (openhouse.picture2 == null)
    openhouse.picture2 = changename;
// etc.