有如下判断:
IF(II==2||II==4||II==6){。。}
请问有无更好的写法?学习。NET不到一年,还有很多不懂要向各位高手请教。
IF(II==2||II==4||II==6){。。}
请问有无更好的写法?学习。NET不到一年,还有很多不懂要向各位高手请教。
解决方案 »
- wcf 如何读取自定义配置文件?
- 数组中连续相同的元素个数
- 【初学者求教】DataGridView问题
- 怎么判断两个Dataset内容是否相等?
- cdo(邮件发送用):发送1000封邮件之后出现“server is busy ,please try again!”
- 用axwebbrowser打开excel,出现“文件未完全加载”的错误,excel打开是乱码!求救——在线等!
- 冬天不下雪,问一个问题。
- [分享]C#对象的内存分配及对象的成员的访问
- 如何重载onkeypress这类函数
- 哪里出了问题,怎么读不出来,估计问题出在provider = SQLOLEDB;Integrated Security = SSPI;
- 将DataTable中的数据导出到excel中,数据少的问题
- 问一个打印或EXCEL的问题
然后用IF
for(i=1;i<=3;i++)
{
if(II==i*2)
{
.....
}
}
这样行不。
该怎么办?
{
if(II==i)
{
.....
}
}
怎么会有这种判断的?
if(ii==?)
不就行了
个人比较支持这种写法,简洁方便!
Control shousuoKJ = (Control)Master.FindControl("ContentPlaceHolder1");
int RL = Convert.ToInt16(DropDownList2.Text.Substring(0, 2))/ 6;//有字符12、24、36、48、60、72
//以下为了控制两类控件隐、显;依据不同数字选择需要显示的和需要隐藏的,只求最简写法。
for (int ii = 1; ii <= 12; ii++)
{
DropDownList DDList = (DropDownList)shousuoKJ.FindControl("DropDownList" + (ii + 7).ToString());
Image Img = (Image)shousuoKJ.FindControl("Image" + (ii + 12).ToString());
if (DDList != null) { DDList.Visible = false; }
if (Img != null) { Img.Visible = false; }
if (RL == 2 && DDList != null && Img != null)
{
if (ii == 2 || ii == 5)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 4 && DDList != null && Img != null)
{
if (ii == 2 || ii == 5 || ii == 8 || ii == 11)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 6 && DDList != null && Img != null)
{
if (ii == 2 || ii == 4 || ii == 6 || ii == 8 || ii == 10 || ii == 12)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 8 && DDList != null && Img != null)
{
if (ii == 2 || ii == 3 || ii == 5 || ii == 6 || ii == 8 || ii == 9 || ii == 11 || ii == 12)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 10 && DDList != null && Img != null)
{
if (ii == 2 || ii == 3 || ii == 4 || ii == 5 || ii == 6 || ii == 8 || ii == 9 || ii == 10 || ii == 11 || ii == 12)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 12 && DDList != null && Img != null)
{
DDList.Visible = true; Img.Visible = true;
}
}
for (int ii = 1; ii <= 12; ii++)
{
DropDownList DDList = (DropDownList)shousuoKJ.FindControl("DropDownList" + (ii + 7).ToString());
Image Img = (Image)shousuoKJ.FindControl("Image" + (ii + 12).ToString());
if (DDList != null) { DDList.Visible = false; }
if (Img != null) { Img.Visible = false; }
if (RL == 2 && DDList != null && Img != null)
{
if (ii == 2 ¦ ¦ ii == 5)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 4 && DDList != null && Img != null)
{
if(ii % 3 ==2)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 6 && DDList != null && Img != null)
{
if(ii % 2 ==0)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 8 && DDList != null && Img != null)
{
if(ii % 3 !=1)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 10 && DDList != null && Img != null)
{
if(ii !=7)
{ DDList.Visible = true; Img.Visible = true; }
}
if (RL == 12 && DDList != null && Img != null)
{
DDList.Visible = true; Img.Visible = true;
}
}
14楼方法更简比9楼的,9楼的if(ii>=2 && ii <=12 && ii!=7)方法可用
3楼方法挺特别的,不过更复杂些,是我举例不足吧。
向各位高手学习了。谢谢!
运行时会匹配每种情况,会发生重复匹配~
lz改一种写法:把你认为最可能的情况提到前面,提高程序的'命中率':
if (DDList == null )return;
if (Img == null )return;
if (RL == 12) {DDList.Visible = true; Img.Visible = true; return;}if (ii !=2) return;//...
//优雅的代码~
{
case 2:
case 3:
case 4:
case 5:
{
//处理语句
break;
}
}
也就说当是或的关系,case 语句并列写 都是处理同一个语句.