首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中的for和do while,该怎么处理

2012-09-14 
C#中的for和do while下面这个获取等级的方法,里面的do while怎么改成for循环?public int GetLevel(int men

C#中的for和do while
下面这个获取等级的方法,里面的do while怎么改成for循环?

public int GetLevel(int menuId){
  int level = 1;
  do{
  menuId=Convert.toInt32(DBHelper.ExecuteScalar("select PId from MenuType where level="+menuId));
  if(menuId!=0)
  level++;
  }while(menuId!=0)
  return level;
}

在线等候。。。哪位知道?

[解决办法]
menuId=Convert.toInt32(DBHelper.ExecuteScalar("select PId from MenuType where level="+menuId));
for(int i;i<menuid;i++)
{
if(menuId!=0)
level++;
}while(menuId!=0)
}
[解决办法]

C# code
for(;;){menuId=Convert.toInt32(DBHelper.ExecuteScalar("select PId from MenuType where level="+menuId));  if(menuId!=0)  level++;elsereturn level;}
[解决办法]
楼主是不是原方法写错了?
这一句
DBHelper.ExecuteScalar("select PId from MenuType where level="+menuId))
应该是
DBHelper.ExecuteScalar("select PId from MenuType where level="+level))
吧?

public int GetLevel(int menuId){
for(level=1;level++;level>0)
{
menuId=Convert.toInt32(DBHelper.ExecuteScalar("select PId from MenuType where level="+level));
if(menuId!=0)
break;
}
return level;
}
[解决办法]
C# code
for(;;){menuId=Convert.toInt32(DBHelper.ExecuteScalar("select PId from MenuType where level="+menuId));  if(menuId!=0)  level++;elsereturn level;}
[解决办法]
楼上不错
[解决办法]
楼主代码是不是没贴完整,如果select PId from MenuType where level="+menuId这个得到的值不为0,那就无限循环。
[解决办法]
探讨

对不起,刚才修改的时候打错了。。应该是:
public int GetLevel(int menuId){
for(level=1;;level++)
{
menuId=Convert.toInt32(DBHelper.ExecuteScalar("select PId from MenuType where level="+level));
if(menuId……

热点排行