
c#的问题,在线求解。
stringpassword=adminLogin.t.t_password.ToString();stringpwd=txtPassword.Text.ToString...
string password =adminLogin.t.t_password.ToString();
string pwd = txtPassword.Text.ToString();
MessageBox.Show(password.Equals(pwd).ToString());
if (password.Equals(pwd))
{
MessageBox.Show("2222222");
}
else
{
MessageBox.Show("333333");
}
上面的一段C#代码中的 adminLogin.t.t_password是在adminLogin中定义的对象的t的一个属性 ,但是是静态的。给的是string的“123”.
第二行的txtPassword.Text是本窗体录入的,给的也是string的“123”.
问题是运行后输出的结果是false和33333,也就是没走if,走的else,本人菜鸟,在线等答案, 展开
string pwd = txtPassword.Text.ToString();
MessageBox.Show(password.Equals(pwd).ToString());
if (password.Equals(pwd))
{
MessageBox.Show("2222222");
}
else
{
MessageBox.Show("333333");
}
上面的一段C#代码中的 adminLogin.t.t_password是在adminLogin中定义的对象的t的一个属性 ,但是是静态的。给的是string的“123”.
第二行的txtPassword.Text是本窗体录入的,给的也是string的“123”.
问题是运行后输出的结果是false和33333,也就是没走if,走的else,本人菜鸟,在线等答案, 展开
5个回答
展开全部
1、检查adminLogin.t.t_password在赋值后是否在其它地方改变过值
2、检查txtPassword.Text的文本是否有空格
3、可以HI我,或追问,但请不要关闭问题,谢谢!
2、检查txtPassword.Text的文本是否有空格
3、可以HI我,或追问,但请不要关闭问题,谢谢!
更多追问追答
追问
没有空格。
输出的password和pwd的输出结果分别是 123 和 123
追答
你直接 string pwd =“123”
测试下,adminLogin.t.t_password是否等于"123"
另外,你的追问“输出的password和pwd的输出结果分别是 123 和 123”
好像有空格哦?
展开全部
string password =adminLogin.t.t_password.ToString().Trim();
string pwd = txtPassword.Text.ToString().Trim();
试试
string pwd = txtPassword.Text.ToString().Trim();
试试
追问
试过去空格了。没用
追答
...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你MessageBox.Show(password);和MessageBox.Show(pwd);一下,看看输出的是什么?
你的输入是否有空格?
你的输入是否有空格?
更多追问追答
追问
结果是123和123
追答
对象之间的比较时最好使用Equals,值的比较最好使用==,字符串得比较最好适用compare
用Equals好像不太合适,你换==试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一 引用 其实就是阉割过的指针 它没有指针功能多,但它其实就是一个对像的地址。
第二,引用 是动态分配内存的,不适合声明为静态,因为你声明一个静态的地址是没有什么意义的,因为 引用所指处那个动态的字符串是随时有可能被释放的。
我们都知道,静态的东西位置非常特殊,就是放在代码段,程序执行期一真存在。对于值类型的东西 如果你声明为静态的,那么代码段那里会永久保存它,但是引用类型的东西,代码段只保存的地址,没有保存地址所指的东西,所以,引用不适合生命为静态...因为只保存地址并且不能保存地址所指处是没什么用的...
第二,引用 是动态分配内存的,不适合声明为静态,因为你声明一个静态的地址是没有什么意义的,因为 引用所指处那个动态的字符串是随时有可能被释放的。
我们都知道,静态的东西位置非常特殊,就是放在代码段,程序执行期一真存在。对于值类型的东西 如果你声明为静态的,那么代码段那里会永久保存它,但是引用类型的东西,代码段只保存的地址,没有保存地址所指的东西,所以,引用不适合生命为静态...因为只保存地址并且不能保存地址所指处是没什么用的...
追问
在做一个小东西,登录的时候查询数据库并保存登录的用户的对象,然后声明的对象为静态的,因为我后面很多地方要用到这个,为了避免多个窗体传对象所以才声明静态,因为我也没改这个对象,这段代码是新的窗体里面引用的。页面输入的123,原来从数据库查的那个(也就是password)也是123,
输出password和pwd都是123.
现在就改这个窗体的这些代码,能得出true吗?求解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Equals导致的问题,换成==吧,或者string.compare.具体为什么你查一下equals。祝你好运!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询