【发布时间】:2012-09-15 04:18:49
【问题描述】:
一直把我的头撞到墙上,谷歌试图找到我的问题的答案。
当下面的 IF 语句执行时,似乎完全通过 IF 和 ELSE 语句运行。
if (IsPostBack)
{
Boolean bFileOK = false;
if (fulReagentImg.HasFile)
{
String sFileExtension = System.IO.Path.GetExtension(fulReagentImg.FileName).ToLower();
String sFileExtensionLabel = sFileExtension;
lblFileExtension.Text = sFileExtensionLabel;
String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (sFileExtension == allowedExtensions[i])
{
bFileOK = true;
}
else
{
lblException.Text = "Can only upload .gif, .png, .jpeg, .jpg";
lblException.CssClass = "red";
}
}
任何想法为什么它没有停止 bFileOK = true?
【问题讨论】:
-
听说过“String.CompareTo()”吗?还是“String.Contains()”?我会劝阻使用 "==";我肯定会添加一个“休息”。 stackoverflow.com/questions/9089716/…
-
我可能会使用
List(不是数组)和if (allowedExtensions.Contains(sFileExtension)) { /* good */ } else { /* bad */ }。确保先规范化大小写。 -
看到人们认为代码应该如何工作以及它实际上是如何工作的,我真的很着迷。让我对人们发展的不同心理模型感到好奇。
标签: c#