帮忙优化下代码、

著名天才___ 2011-09-23 04:46:48

if (file == "YaopinDetails.aspx" || file == "YaopinDetails_1.aspx" || file == "YaopinDetails_2.aspx" || file == "YaopinDetails_3.aspx" || file == "YaopinDetails_4.aspx" || file == "YaopinDetails_5.aspx" || file == "BaoJianDetails.aspx" || file == "BaoJianDetails_1.aspx" || file == "BaoJianDetails_2.aspx" || file == "BaoJianDetails_3.aspx" || file == "BaoJianDetails_4.aspx" || file == "BaoJianDetails_5.aspx" || file == "QixieDetails.aspx" || file == "QixieDetails_1.aspx" || file == "QixieDetails_2.aspx" || file == "QixieDetails_3.aspx" || file == "QixieDetails_4.aspx" || file == "QAReply.aspx" || file == "BaiKeDetails.aspx" || file == "BaiKeArticleDetails.aspx" || file == "NewsDetails.aspx" || file == "YaoChangDetails.aspx" || file == "YaoChangIntroduce.aspx" || file == "YaoChangMessage.aspx" || file == "YaoChangQAReply.aspx" || file == "YaoChangConsult.aspx" || file == "YaoChangProduct.aspx" || file == "YaoChangNews.aspx" || file == "YaoChangWork.aspx")

...全文
163 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
988kook 2011-09-23
  • 打赏
  • 举报
回复

string filePath = Server.MapPath(fileName);
if (File.Exists(filePath))
{
// 存在就执行你if里的代码了
}
988kook 2011-09-23
  • 打赏
  • 举报
回复
用File本身啊 你上传文件 不是要比较是否本地有那几个文件么 如果有就的话就就执行someing~~~~ 都不用那么多的名称了 让微软替你搞定
油泼白菜 2011-09-23
  • 打赏
  • 举报
回复
建议用配置文件处理,修改也方便,,
vrhero 2011-09-23
  • 打赏
  • 举报
回复
不算多,如果较固定不怎么变改成switch即可...
switch(file){
case "YaopinDetails.aspx":
case "YaopinDetails_1.aspx":
...
default:
...
}

如果经常变改成字典...

但是...从这你罗嗦的命名看,你只需要一个文件传递参数而已...可能是你的设计本身就有问题,去找病根而不是头疼去医脚...
king122085 2011-09-23
  • 打赏
  • 举报
回复
void m(xx)
string x = "YaopinDetails.aspx|B.aspx"(可以做一个config配置来控制);

if(x .Contains(xx))
{

}
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhumingtiancai 的回复:]
C# code


if (file == "YaopinDetails.aspx" || file == "YaopinDetails_1.aspx" || file == "YaopinDetails_2.aspx" || file == "YaopinDetails_3.aspx" || file == "YaopinDetails_4.aspx" || file == "Yaop……
[/Quote]
写个方法

private bool check(string [] ar0,string file)
{
List<string>list=new List<string>();
for(int i=0;i<ar0.Length;i++)
list.add(ar0[i]);
if(list.Contains(file))
return true;
return false;

}
...........
if(check(arr,flie))
{
//xxoo
}
  • 打赏
  • 举报
回复
其实都一样 只不过是爽与不爽的问题,如果更加的独立,可以加一个配置文件,专门配置这些需要判断的节点,以后如有新需求,直接增加配置节点,而无需去改动代码了
baitoclus 2011-09-23
  • 打赏
  • 举报
回复
除了数组想不到更好的解决方案了
逐风 2011-09-23
  • 打赏
  • 举报
回复
var x = "YaopinDetails.aspx|B.aspx";
List<string> xx = new List(x.Split('|'));
if(xx .Contains(file ))
  • 打赏
  • 举报
回复
其实无论怎样 都是一样的 只不过是爽与不爽的问题 如果想独立一点,可以放置一个外部配置文件,以后如果还需要加,那么直接在配置里多加个节点
著名天才___ 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 taomanman 的回复:]

这么多啊?我倒
你干脆将这些页面文件名称放在一个数组里,然后通过遍历数组并和你的这个file进行比较,加入你的file属于该数组集合中的一个子集,那么条件就成立。
[/Quote]
是个不错的选择、应该会比 || 好、还有其它方法么
暖枫无敌 2011-09-23
  • 打赏
  • 举报
回复
这么多啊?我倒
你干脆将这些页面文件名称放在一个数组里,然后通过遍历数组并和你的这个file进行比较,加入你的file属于该数组集合中的一个子集,那么条件就成立。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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