如和判断两个字符串相等????

EvenWen 2010-11-09 09:40:14
前几天做一个条件
if(Name.ToString()=="管理员")
{
。。。。。。

}
如果 Name的值是管理员的话就走大括号里德代码。
奇怪的是:现在这个条件怎么也不成立了。无论Name的值是不是管理员,程序死活就不走大括号离得代码。
请大家帮忙解决一下!!!!!!!!!!!!!
...全文
910 73 打赏 收藏 转发到动态 举报
写回复
用AI写文章
73 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjh200102 2010-11-12
  • 打赏
  • 举报
回复
应该是值有问题。
madong871020 2010-11-12
  • 打赏
  • 举报
回复
需要取消空格
fywyhj 2010-11-12
  • 打赏
  • 举报
回复
不要ToString()方法被重写过。。
EvenWen 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 62 楼 bin_520_yan 的回复:]
不过之前我也遇到一个问题,也是我身边很多开发人员都遇到过的:
明明一个if语句是成立的,按道理运行的时候会进入if语句内部的,但是它就是不进去,结果我们用断点调式后,它才进去。不知道其他人遇到过没,而且我们也都知道,运行的时候编译器已经对整个解决方案都进行了一次生成!对于上面我描述的问题,不知道是不是vs有bug还是(个人理解)

建议LZ先进行断点调试,然后我觉得应该是没问题……
[/Quote]
我也曾遇到过你说的那种情况,但是我现在的情况可能更遭,连调试的时候,这个条件都不进去。。。。。
songxiangzaiya 2010-11-11
  • 打赏
  • 举报
回复
Name是神马东东?看看Name是否重写了toString()方法……
兔子-顾问 2010-11-11
  • 打赏
  • 举报
回复
当一个简单问题被盖楼盖的很高,楼主就要考虑下是怎么回事了。
xxiju203 2010-11-11
  • 打赏
  • 举报
回复
Name.Contains("管理员")
xxiju203 2010-11-11
  • 打赏
  • 举报
回复
Name.Contains("管理员")
龍月 2010-11-11
  • 打赏
  • 举报
回复
session 先判断是不是null 此消息通过 【CSDN论坛 Winform测试版】 回复!龙月.NET的博客
gbx4658 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 52 楼 guoyanhong1111 的回复:]

字符串的判断有两种形式:
equal函数是比较对象的值相等
而==是判断的是否是同一个对象
举个例子吧:
string a="管理员";
string b="管理员";
if(a==b)
{
messageBox.show("相等")
}
else
{
messageBox.show("不相等");
}

//结果肯定是“不相等”
[/Quote]


这孩子搞Java的
YZX3288 2010-11-11
  • 打赏
  • 举报
回复
看下你name 的值是不是管理员。。。调试下啊
DataBox-MDX 2010-11-11
  • 打赏
  • 举报
回复
不过之前我也遇到一个问题,也是我身边很多开发人员都遇到过的:
明明一个if语句是成立的,按道理运行的时候会进入if语句内部的,但是它就是不进去,结果我们用断点调式后,它才进去。不知道其他人遇到过没,而且我们也都知道,运行的时候编译器已经对整个解决方案都进行了一次生成!对于上面我描述的问题,不知道是不是vs有bug还是(个人理解)

建议LZ先进行断点调试,然后我觉得应该是没问题了。
viena 2010-11-10
  • 打赏
  • 举报
回复
晕倒,这种问题也拿到这里来问
你把ToString()的值赋给一个字符串
然后调试下看看,值到底是什么

程序是不会出错的,.NET也不可能有这样的bug
Cyrnicolase 2010-11-10
  • 打赏
  • 举报
回复

if (name.Equals("管理员") == false)
{
MessageBox.Show("不等!");
return;
}
MessageBox.Show("等!");

Cyrnicolase 2010-11-10
  • 打赏
  • 举报
回复
if (name.Equals("管理员") == false)
{
MessageBox.Show("不等!");
return;
}
MessageBox.Show("等!");
EvenWen 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 52 楼 guoyanhong1111 的回复:]
字符串的判断有两种形式:
equal函数是比较对象的值相等
而==是判断的是否是同一个对象
举个例子吧:
string a="管理员";
string b="管理员";
if(a==b)
{
messageBox.show("相等")
}
else
{
messageBox.show("不相等");
}

//结果肯定是“不相等”
[/Quote]
==也可以判断字符串值相等,你的例子是不对的,不过也谢谢你的帮忙啦!
EvenWen 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 46 楼 m4a1007 的回复:]
如果session的值确实是“管理员”,那就是编码问题了,不同的编码方式也会造成程序的问题,把session里的值取出来编一下码
[/Quote]
请问一下如何编码呢,问题是我不知道应该变成什么样的编码?
家猫 2010-11-09
  • 打赏
  • 举报
回复
这个主要调试的时候看下值 是多少就行了..要学会调试
var name=session["name"].tostring();

看看它的值是多少..还有就是不要用中文来表示管理员之类的..不是明志之举
HaveOneDream 2010-11-09
  • 打赏
  • 举报
回复
关注,求解释,是不是楼主自已不小心搞错了呢
IBMCON 2010-11-09
  • 打赏
  • 举报
回复
引用类型 应该用equals函数啊!
加载更多回复(51)

111,129

社区成员

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

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

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