首页 新闻 赞助 找找看

在asp.net mvc开发中遇到字符串比较顺序不同出现的问题

0
悬赏园豆:100 [已解决问题] 解决于 2015-08-05 10:07

在做一个图片上传的功能,后台判断上传的是否是图片格式,但在后缀名检查时,字符串比较除了问题,问题如下

字符串的比较结果是正确的,但是当把比较的位置互换,结果就是false,如下

其中上面的fileExtension是获取上传文件的后缀名,方法如下

string fileExtension = Path.GetExtension(upload.FileName).ToLower().ToString();

其实不管用Equals还是"==",结果都是一样的,位置不同,比较的结果也就不相同,但是在控制台程序中,位置不同,比较结果也是相同的,求解惑

yuanking的主页 yuanking | 初学一级 | 园豆:26
提问于:2015-08-05 09:49
< >
分享
最佳答案
0

https://msdn.microsoft.com/zh-cn/library/dy85x1sa(v=VS.80).aspx

你还是没有理解Contains这个方法,你判断一个长的字符串是否在一个短的字符串内肯定不成立呀;

".jpg,.bmp,.png"包含".png",但是反过来就不对了

收获园豆:50
MrNice | 老鸟四级 |园豆:3450 | 2015-08-05 10:00
其他回答(3)
0

判断句:

1、你是你爸的儿子。

2、你爸是你的儿子。

为啥一句对一句错?

收获园豆:20
爱编程的大叔 | 园豆:30839 (高人七级) | 2015-08-05 09:54

那为什么".jpg".Equals(fileExtension)和fileExtension.Equals(“.jpg”)在这里结果也是不同,但在控制台程序都是true

支持(0) 反对(0) yuanking | 园豆:26 (初学一级) | 2015-08-05 09:57
0

楼上说的对啊,仔细理解下Contains这个方法的含义。。

对于你说的:那为什么".jpg".Equals(fileExtension)和fileExtension.Equals(“.jpg”)在这里结果也是不同,但在控制台程序都是true,严重怀疑你的fileExtension在Web端没有点(fileExtension="jpg"),如果是这样,那么测试结果不一样也就说得过去了。

收获园豆:10
幻天芒 | 园豆:37175 (高人七级) | 2015-08-05 10:05
0

好好理解单个和多个的区别。

lb1208 | 园豆:371 (菜鸟二级) | 2015-08-10 09:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册