新人写的代码,来批批

kkun_3yue3 2007-01-26 04: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;

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



我想我这个问题应该可以对号入座,只是部分写法真的不太理解,
以否帮解释一下,
...全文
238 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
现在做的是WINFOR,不是WEB
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
Length==0) ? "*" : "";

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


if (oReader.HasRows)
{
this.DialogResult = DialogResult.Yes;
}
else
{
label3.Text = "* 用户名或密码不正确!";

}

在这儿等着你呢,
刚测试的
老男人-谢英 2007-01-26
  • 打赏
  • 举报
回复
上一贴是xvting发出的疑问.......
老男人-谢英 2007-01-26
  • 打赏
  • 举报
回复
在Web里使用三元运算符不影响性能吗?那如果我在textBox1里输入Length==0) ? "*" : "";会怎么样呢?很抱歉我不能调试,也不知道怎么样,一会我就走的........
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
这下可以了吧,
不用再判断textbox1.text==oReader["userName"].tostring()了吧?
?????????
NoirCheng 2007-01-26
  • 打赏
  • 举报
回复
同意yadier和Eleven_K的观点!程序的可读性十分重要!尤其对于一个队伍
太简练反而不好,过些日子你自己都度不懂了
个人观点~~
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
它返回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();
}
xvting 2007-01-26
  • 打赏
  • 举报
回复
private bool IsVolidate()
{
label3.Text = (textBox1.Text == "") ? "*" : "";
label4.Text=(textBox2.Text=="")?"*":"";
return (label3.Text == "" && label4.Text == "") ? true : false;
}


炒鱿鱼.....
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
//检测用户名是否为空,
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;
}
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
private bool IsVolidate()
{
label3.Text = (textBox1.Text == "") ? "*" : "";
label4.Text=(textBox2.Text=="")?"*":"";
return (label3.Text == "" && label4.Text == "") ? true : false;
}

成品了........
老男人-谢英 2007-01-26
  • 打赏
  • 举报
回复
开发毕竟是一个团队,当然是第一种写法好了!(个人观点)
zhaosc 2007-01-26
  • 打赏
  • 举报
回复
判断一个label或textBox的text属性是否为空
个人觉得最好用
label.Text.Trim().Length!=0
text.Text.Trim().Length!=0
可避免其中空格的情况

yadier 2007-01-26
  • 打赏
  • 举报
回复
可读性是很重要的,尤其是网页这种比较混乱的东西。

类似的有:
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;

有什么区别吗?没有,只能说我是越来越懒了。
还是前种好
toyshop 2007-01-26
  • 打赏
  • 举报
回复
label3.Text= (textBox1.Text == "") ? * : ""
kkun_3yue3 2007-01-26
  • 打赏
  • 举报
回复
帮人改写一下???
hanghangz 2007-01-26
  • 打赏
  • 举报
回复
有经验的程序员都用最少的代码做最多的事情

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧