读书人

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

发布时间: 2012-09-14 11:53:44 作者: rapoo

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……

读书人网 >C#

热点推荐