您的位置:程序门 -> .net技术 -> c#



新人写的代码,来批批


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


新人写的代码,来批批[已结贴,结贴人:kkun_3yue3]
发表于:2007-01-26 16:15:36 楼主
//检测用户名是否为空,
                private   bool   isvolidate()
                {
                        if   (textbox1.text   ==   " ")
                        {
                                label3.text   =   "* ";
                        }
                        else
                        {
                                label3.text   =   " ";
                        }

                        if   (textbox2.text   ==   " ")
                        {
                                label4.text   =   "* ";
                        }
                        else
                        {
                                label4.text   =   " ";
                        }


                }

上面是我写的验证两个textbox是否为空,并在其后显示*,类似于网页中的效果,

以前看过一篇文章,
一点c#代码的使用心得
其中有这样的说法


以前我总是这样写代码:
//m_issomeevent:bool
if(m_issomeevent){
  m_issomeevent   =   false;
}else{
  m_issomeevent   =   true;
}

后来这样写:
m_issomeevent   =   m_issomeevent?false:true;

再后来这样写:
m_issomeevent   =   !m_issomeevent;

类似的有:
if(this.m_button.text==i_somestring){
  this.m_button.enabled   =   true;
}else{
  this.m_button.enabled   =   false;
}

后来就写成:
this.m_button.enabled   =   this.m_button.text   ==   i_somestring;

有什么区别吗?没有,只能说我是越来越懒了。  


我想我这个问题应该可以对号入座,只是部分写法真的不太理解,
以否帮解释一下,
发表于:2007-01-26 16:27:221楼 得分:0
有经验的程序员都用最少的代码做最多的事情
发表于:2007-01-26 16:29:092楼 得分:0
帮人改写一下???
发表于:2007-01-26 16:31:003楼 得分:15
label3.text=   (textbox1.text   ==   " ")   ?   *   :   " "
发表于:2007-01-26 16:32:104楼 得分:0
可读性是很重要的,尤其是网页这种比较混乱的东西。

类似的有:
if(this.m_button.text==i_somestring){
  this.m_button.enabled   =   true;
}else{
  this.m_button.enabled   =   false;
}

后来就写成:
this.m_button.enabled   =   this.m_button.text   ==   i_somestring;

有什么区别吗?没有,只能说我是越来越懒了。  
还是前种好
发表于:2007-01-26 16:54:055楼 得分:5
判断一个label或textbox的text属性是否为空
个人觉得最好用
label.text.trim().length!=0    
text.text.trim().length!=0    
可避免其中空格的情况

发表于:2007-01-26 16:56:246楼 得分:0
开发毕竟是一个团队,当然是第一种写法好了!(个人观点)
发表于:2007-01-26 16:56:437楼 得分:0
private   bool   isvolidate()
                {
                        label3.text   =   (textbox1.text   ==   " ")   ?   "* "   :   " ";
                        label4.text=(textbox2.text== " ")? "* ": " ";
                        return   (label3.text   ==   " "   &&   label4.text   ==   " ")   ?   true   :   false;
                }

成品了........
发表于:2007-01-26 16:59:198楼 得分:0
//检测用户名是否为空,
                private   bool   isvolidate()
                {
                        //http://community.csdn.net/expert/topicview3.asp?id=5321119
                        label3.text   =   (textbox1.text.trim().length==0)   ?   "* "   :   " ";
                        label4.text   =   (textbox2.text.trim().length==0)   ?   "* "   :   " ";
                        return   (label3.text   ==   " "   &&   label4.text   ==   " ")   ?   true   :   false;
                }
发表于:2007-01-26 17:03:119楼 得分:0
private   bool   isvolidate()
                {
                        label3.text   =   (textbox1.text   ==   " ")   ?   "* "   :   " ";
                        label4.text=(textbox2.text== " ")? "* ": " ";
                        return   (label3.text   ==   " "   &&   label4.text   ==   " ")   ?   true   :   false;
                }


炒鱿鱼.....
发表于:2007-01-26 17:07:1810楼 得分:0
它返回true后还有后续处理.........

if(isvolidate())
                        {
                        string   oselect   =   "select   *   from   [datauser]   where([username]= ' "+textbox1.text+ " '   and   [userpass]= ' "+textbox2.text+ " ') ";
                        oledbcommand   ocommand   =   new   oledbcommand(oselect,conn.oconn);
                        ocommand.connection.open();
                        oledbdatareader   oreader   =   null;
                        oreader   =   ocommand.EXECutereader();
                        if   (oreader.hasrows)
                        {
                                this.dialogresult   =   dialogresult.yes;
                        }
                        else
                        {
                                label3.text   =   "*   用户名或密码不正确! ";
                             
                        }
                        ocommand.connection.close();
                        oreader.close();
                        }
发表于:2007-01-26 17:08:1511楼 得分:0
同意yadier和eleven_k的观点!程序的可读性十分重要!尤其对于一个队伍
太简练反而不好,过些日子你自己都度不懂了
个人观点~~
发表于:2007-01-26 17:08:5612楼 得分:0
这下可以了吧,
不用再判断textbox1.text==oreader[ "username "].tostring()了吧?
?????????
发表于:2007-01-26 17:09:5713楼 得分:0
在web里使用三元运算符不影响性能吗?那如果我在textbox1里输入length==0)   ?   "* "   :   " ";会怎么样呢?很抱歉我不能调试,也不知道怎么样,一会我就走的........
发表于:2007-01-26 17:11:5314楼 得分:0
上一贴是xvting发出的疑问.......
发表于:2007-01-26 17:41:0415楼 得分:0
length==0)   ?   "* "   :   " ";

如果在textbox1里输入上述字符会提示 "用户名或密码错误 ";


if   (oreader.hasrows)
{
this.dialogresult   =   dialogresult.yes;
}
else
{
label3.text   =   "*   用户名或密码不正确! ";

}

在这儿等着你呢,
刚测试的
发表于:2007-01-26 17:41:4216楼 得分:0
现在做的是winfor,不是web


快速检索

最新资讯
热门点击