我从网上下一个BBS系统,这是首要调用的一个display函数,从数据库中的表中读取出论坛版块的相关信息。可是我不明白为什么要这么复杂(我指的事if else 部分),其中 dr 是Datareader对象,里面是数据库中表的信息,Beg是论坛的编号,一个论坛可以分为几个小论坛,可以这样表示(Beg,End),如(4,1)第四个论坛的第一个小论坛。
public void Display()
{
int Beg;
int End;
int n=0;
String TopicName;
String TopicDes;
String Flag;
String Toastmaster;
String ReplyTotal;
String TopicTotal;
String des;
while(dr.Read())
{
Beg=(int)dr["Beg"];
End=(int)dr["End"];
TopicName=dr["TopicName"].ToString();
TopicDes=dr["TopicDes"].ToString();
Flag=dr["Flag"].ToString();
Toastmaster=dr["Toastmaster"].ToString();
ReplyTotal=dr["ReplyTotal"].ToString();
des=dr["des"].ToString();
TopicTotal=dr["TopicTotal"].ToString();
//Beg = 0;
Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
/*
if (n==Beg)
{
Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
}
else
{
Response.Write("<tr><td colspan=3 class=tablemaiTimeSp height=10><b>"+" "+TopicName+"</b></td></tr>");
Response.Write("<tr class=tablemaiStopTime><td width='8%' class=tablemaiStartTime align=center><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='1' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+" </b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
n=Beg;
} */
}
dr.Close();
StopTime= DateTime.Now;
TimeSp=StopTime-StartTime;
MyConn.Close();
}
我觉得if else部分完全可以用以下代码代替,
Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
并且我运行的结果都一样。可是为什么要写一个IF ELSE 语句呢?谢谢了!
public void Display()
{
int Beg;
int End;
int n=0;
String TopicName;
String TopicDes;
String Flag;
String Toastmaster;
String ReplyTotal;
String TopicTotal;
String des;
while(dr.Read())
{
Beg=(int)dr["Beg"];
End=(int)dr["End"];
TopicName=dr["TopicName"].ToString();
TopicDes=dr["TopicDes"].ToString();
Flag=dr["Flag"].ToString();
Toastmaster=dr["Toastmaster"].ToString();
ReplyTotal=dr["ReplyTotal"].ToString();
des=dr["des"].ToString();
TopicTotal=dr["TopicTotal"].ToString();
//Beg = 0;
Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
/*
if (n==Beg)
{
Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
}
else
{
Response.Write("<tr><td colspan=3 class=tablemaiTimeSp height=10><b>"+" "+TopicName+"</b></td></tr>");
Response.Write("<tr class=tablemaiStopTime><td width='8%' class=tablemaiStartTime align=center><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='1' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+" </b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
n=Beg;
} */
}
dr.Close();
StopTime= DateTime.Now;
TimeSp=StopTime-StartTime;
MyConn.Close();
}
我觉得if else部分完全可以用以下代码代替,
Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
并且我运行的结果都一样。可是为什么要写一个IF ELSE 语句呢?谢谢了!
这样可读性很好,而且性能上应该也差不多
if (n==Beg)
{Response.Write("<tr class=tablemaiStopTime><td width='8%' align=center class=tablemaiStartTime><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='0' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+"</b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
}else
{
Response.Write("<tr><td colspan=3 class=tablemaiTimeSp height=10><b>"+" "+TopicName+"</b></td></tr>");
Response.Write("<tr class=tablemaiStopTime><td width='8%' class=tablemaiStartTime align=center><img src='"+Flag+"'></td><td colspan=2>");
Response.Write("<table width='90%' border='1' align='center' cellpadding='0' cellspacing='1' class=font><tr>");
Response.Write("<td width='70%'>");
Response.Write("<a href='Thread.aspx?Beg="+Beg.ToString()+"&End="+End.ToString()+"&page=1"+"'>★<b>"+TopicDes+" </b>★</a><br>"+" "+des);
Response.Write("</td>");
Response.Write("<td width='30%'>");
Response.Write("版主:"+Toastmaster+"<br>");
Response.Write("主题:"+TopicTotal+" ");
Response.Write("回复:"+ReplyTotal+"<br>");
Response.Write("</td>");
Response.Write("</tr></table>");
Response.Write("</td></tr>");
n=Beg;
} */