C# IF 语句未正确中断

标签 c#

一直在用头撞墙,Google 试图找到我的问题的答案。

当下面的 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 停止吗?

最佳答案

你的循环是完全错误的。
如果用户的扩展名不等于列表中的所有 扩展名,它将显示错误。

您应该调用 Contains()方法,最好是 HashSet<String> .

关于C# IF 语句未正确中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12431328/

相关文章:

C# MS Chart Control - 两个问题

c# - 如何使用反射获取 Action 的 Http Verb 属性 - ASP.NET Core?

c# - 在内存中写入文本文件而不存储到磁盘

c# - Rx observable,如果某个超时到期,它会发布一个值

javascript - 如何解析 ajax 返回的字符串的 JSON 列表?

c# - 空值和空白值

c# - 如何从 C# 中的 mdi 容器窗体的可用空间设置子窗体基数的大小?

c# - 在一组中使用 visual studio 2008 和 2005

c# - SelectMethod 为 ObjectDataSource 调用了两次

c# - 使用 DSL 生成 C# 代码