.net 动态IF语句

tester222121 2014-04-25 05:41:19
现在遇到一个问题,根据用户所给的条件生成一段if语句
//客户系统中的逻辑数据(无法修改)
string srcData="@:^电视机>50|或者^价格>=5000|且^状态=已安装";
//我将他截成
string[] strArr=new string[]{"且^电视机>50","或者^价格>=5000","且^状态=已安装"}

我们对接系统中页面中对应控件
txtSalesNum
txtPrice
txtStatus
txtSalesDate

现在要动态根据客户所给的srcData生成IF条件并进行处理数据
例如:

//不考虑逻辑是否正确的情况下,前两个条件合并前后要添加();红色标致
//当:string srcData="@:且^电视机>50|或者^价格>=5000|且^状态=已安装";
生成if((Parse.Int(txtSalesNum.Text)>50 || Parse.Int(txtPrice.Text)>5000)&& txtStatus.Text="已安装"){}else{}
//当: string srcData="@:且^洗衣机=>50|且^洗衣机<100|且^日期>2013-10-1|且^日期<2013-10-7";
生成if((Parse.Int(txtSalesNum.Text)>=50 && Parse.Int(txtSalesNum.Text)<100 ) && Convert.ToDateTime(txtSalesDate.Text)>='2013-10-1' && Convert.ToDateTime(txtSalesDate.Text)<'2013-10-7'){}else{}
...全文
283 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
祥子爱游戏 2014-04-29
  • 打赏
  • 举报
回复
引用 2 楼 banian_cn 的回复:
看了半天才好像明白,你是想用客户端的 且^电视机>50|或者^价格>=5000|且^状态=已安装 转变成 IF语句? 为什么不在客户端提供一个查询条件高级搜索?直接自动生成条件传过来。 既然都是 txtSalesNum 你干吗还区分电视机 洗衣机呢? 直接是 数量>50 用数量代替具体的物品名称,不然你每种东西你都得判断。 你一定要用这种文字的话,第一个 且,或者根本就是没用的。 前2个是必须合并的。 将数组的每个值用 ^ 分隔,第一个且或者条件不用判断。 "("开头拼接, 之后的中文且替换成&& 或者 替换成 || 拼接就可以了。第二个条件结束拼接 ")"
我也感觉是这样,楼主的方法太复杂。还要自己去判断条件,可能还要分词
Banianer 2014-04-25
  • 打赏
  • 举报
回复
看了半天才好像明白,你是想用客户端的 且^电视机>50|或者^价格>=5000|且^状态=已安装 转变成
IF语句?
为什么不在客户端提供一个查询条件高级搜索?直接自动生成条件传过来。
既然都是 txtSalesNum 你干吗还区分电视机 洗衣机呢?
直接是 数量>50 用数量代替具体的物品名称,不然你每种东西你都得判断。

你一定要用这种文字的话,第一个 且,或者根本就是没用的。
前2个是必须合并的。
将数组的每个值用 ^ 分隔,第一个且或者条件不用判断。
"("开头拼接, 之后的中文且替换成&& 或者 替换成 || 拼接就可以了。第二个条件结束拼接 ")"
  • 打赏
  • 举报
回复
可能你业余爱好写程序,建议上一个编程的课程。这种东西是“正常的if逻辑判断”流程,而不是什么“动态if语句”。

62,243

社区成员

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

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

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

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