黑马程序员技术交流社区

标题: 这两个位置有什么区别吗? [打印本页]

作者: 王雪磊    时间: 2012-4-18 06:46
标题: 这两个位置有什么区别吗?
  int k=DataBase.exeSqlDataReader("select ID from tb_user where User_Name='"+this.txtUser.Text.ToString().Trim()+"'and User_Pass='"+this.txtPass.Text.ToString().Trim()+"'");
与这个
  int k=DataBase.exeSqlDataReader("select ID from tb_user where User_Name='"+this.txtUser.Text.Trim().ToString()+"'and User_Pass='"+this.txtPass.Text.Trim().ToString()+"'");

作者: 孙杰    时间: 2012-4-18 09:20
一个是先去前后空格 再转换字符串 一个是先转换字符串再去前后空格  字面上貌似没什么区别
作者: 崔楠    时间: 2012-4-18 09:34
tostring()为转换为字符串格式,trim()为去除空格,先转换为字符串再去空格与先去空格再转换字符串应该效果一样吧,我一般使用。tostring().trim(),不过,this.txtUser.Text本身就是string类型了,应该不需要tostring()了。
作者: 周俊辉    时间: 2012-4-18 09:46
一样的 没什么区别!!!
作者: 丁官林    时间: 2012-4-18 10:02
  int k=DataBase.exeSqlDataReader("select ID from tb_user where User_Name='"+this.txtUser.Text.ToString().Trim()+"'and User_Pass='"+this.txtPass.Text.ToString().Trim()+"'");
里的this.txtUser.Text.表示获取文本框txtUser的字符串,所以ToStrong()方法是多余的。我们在文本框输入的时候,很多人会在输入完毕后习惯性的敲击空格键,Trim()就可以去掉敲击的空格。


  int k=DataBase.exeSqlDataReader("select ID from tb_user where User_Name='"+this.txtUser.Text.Trim().ToString()+"'and User_Pass='"+this.txtPass.Text.Trim().ToString()+"'");

Trim().ToString()和.ToString().Trim()一个是先去掉空格在转化成字符串,一个是先转化成字符串在去掉空格。实际在在上面这两种情况中的ToString()是多余的,去掉后两种就一样的了。
作者: 王雪磊    时间: 2012-4-18 10:05
恩,我只知道是多余的,我的 意思是如果用上两个顺序颠覆了会出错的

作者: 岳喜礼    时间: 2012-4-18 10:06
text 的话  就不用 tostring()了吧  ,反正返回的也是 字符串,你在套上一层 画蛇点睛了,哦不,是画龙添足了
作者: china_xiaowu    时间: 2012-4-18 10:14
Trim() 表示删除文本后的空格,ToString()将TextBox中的内容转换成文本内容!!!
作者: 过客    时间: 2012-4-18 12:56
效果是一样的,但是文本框就不用调用.toString() 了吧!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2