在做一个图片上传的功能,后台判断上传的是否是图片格式,但在后缀名检查时,字符串比较除了问题,问题如下
字符串的比较结果是正确的,但是当把比较的位置互换,结果就是false,如下
其中上面的fileExtension是获取上传文件的后缀名,方法如下
string fileExtension = Path.GetExtension(upload.FileName).ToLower().ToString();
其实不管用Equals还是"==",结果都是一样的,位置不同,比较的结果也就不相同,但是在控制台程序中,位置不同,比较结果也是相同的,求解惑
https://msdn.microsoft.com/zh-cn/library/dy85x1sa(v=VS.80).aspx
你还是没有理解Contains这个方法,你判断一个长的字符串是否在一个短的字符串内肯定不成立呀;
".jpg,.bmp,.png"包含".png",但是反过来就不对了
判断句:
1、你是你爸的儿子。
2、你爸是你的儿子。
为啥一句对一句错?
那为什么".jpg".Equals(fileExtension)和fileExtension.Equals(“.jpg”)在这里结果也是不同,但在控制台程序都是true
楼上说的对啊,仔细理解下Contains这个方法的含义。。
对于你说的:那为什么".jpg".Equals(fileExtension)和fileExtension.Equals(“.jpg”)在这里结果也是不同,但在控制台程序都是true,严重怀疑你的fileExtension在Web端没有点(fileExtension="jpg"),如果是这样,那么测试结果不一样也就说得过去了。
好好理解单个和多个的区别。