针对【System.Text.StringBuilder+多种条件】方便的用法

一、问题:

      汇总方式有两种,CheckBox的情况有两种。如图    

一开始的时候,原写代码的人是写了四段差不多的代码(主要不同点是在SQL的语句,因为要跟数据库进行结合查询),将这四种情况都写出来。但是今天老大叫我新增加两个CheckBox,形成这样的功能。

       如果是按照之前的写法,三个CheckBox加上两种汇总方式,就变成了16种情况需要写出来。这样的代码十分累赘,不现实,更加不便于后期维护(如在增加一个CheckBox就变成了2的4次方再乘以2中情况)。

二、解决办法

     关键点是在SQL语句中:将用到的数据都查出来,在Where条件中用{0}{1},最后进行使用类似StringBuilder.AppendFormat(“{0}”,this.chkCancelColor.Checked ? "" : "AND a.ColorPosition <> '255'”)进行替换。

 

转载:https://www.cnblogs.com/mrxy/p/8057657.html

以下文章来自明日科技出版的《零基础学C#,转载请注明出处!!!

StringBulider与String的区别

string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。

 

而StringBuilder类则不同,每次操作都是对自身对象进行操作,而不是生成新的对象,其所占空间会随着内容的增加而扩充,这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能。

 

技巧:当程序中需要大量的对某个字符串进行操作时,应该考虑应用StringBuilder类处理该字符串,其设计目的就是针对大量string操作的一种改进办法,避免产生太多的临时对象;而当程序中只是对某个字符串进行一次或几次操作时,采用string类即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值