2022年聚集大全C代码优化的一些案例_第1页
2022年聚集大全C代码优化的一些案例_第2页
2022年聚集大全C代码优化的一些案例_第3页
2022年聚集大全C代码优化的一些案例_第4页
2022年聚集大全C代码优化的一些案例_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#代码优化旳案例代码简洁代码简洁,减少代码量,初始值尽量在属性上设立,而不是编写代码。合同记录分析中JToolComBox_ColmunType_SelectedIndexChanged措施中:switch (jToolComBox_ColmunType.SelectedIndex.ToString() case 0:/执行金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e22; jWebChart1.SetUrl(); break; case 1:/变更金额 jWebChart1.chartId = 9cc897e5-99d

2、d-468d-84db-3390a18f0e23; jWebChart1.SetUrl(); break; case 2:/索赔金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e24; jWebChart1.SetUrl(); break; case 3:/付款批复金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e25; jWebChart1.SetUrl(); break; case 4:/实际支付金额 jWebChart1.chartId = 9cc897e5

3、-99dd-468d-84db-3390a18f0e26; jWebChart1.SetUrl(); break; case 5:/合同份数 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e27; jWebChart1.SetUrl(); break; default:/执行金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e22; jWebChart1.SetUrl(); break; 重构后:switch (jToolComBox_ColmunType.Select

4、edIndex.ToString() case 0:/执行金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e22; break; case 1:/变更金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e23; break; case 2:/索赔金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e24; break; case 3:/付款批复金额 jWebChart1.chartId = 9cc897e5

5、-99dd-468d-84db-3390a18f0e25; break; case 4:/实际支付金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e26; break; case 5:/合同份数 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e27; break; default:/执行金额 jWebChart1.chartId = 9cc897e5-99dd-468d-84db-3390a18f0e22; break; jWebChart1.SetUrl();合同综

6、合查询中jTabControl8_SelectedIndexChanged措施中多种If语句(3个以上),改写为switch合同综合查询中JeMisQuery_V_HT_CONTRACT_SHOW_TJ_OnQueryFinished措施中/请填写脚本 decimal de_SIGN_AMOUNT = 0; decimal de_ALTER_AMOUNT = 0; decimal de_ALL_CLAIM_AMOUNT = 0; decimal de_PAY_AMOUNT = 0; decimal de_ALL_RP_AMOUNT = 0; decimal de_EXE_AMOUNT = 0;

7、 decimal de_APPLY_AMOUNT = 0; decimal de_APPLY_APPROVE_AMOUNT = 0; string str_where = eMisQuery_V_HT_CONTRACT_SHOW.UserCustomCondition; string sql = select count(*) as ht_contract_count,sum(SIGN_AMOUNT)nvl(sum(SIGN_AMOUNT), 0) as SIGN_AMOUNT,sum(ALTER_AMOUNT) as ALTER_AMOUNT, + sum(ALL_CLAIM_AMOUNT)

8、as ALL_CLAIM_AMOUNT,sum(PAY_AMOUNT) as PAY_AMOUNT, sum(ALL_RP_AMOUNT) as ALL_RP_AMOUNT, sum(EXE_AMOUNT) as EXE_AMOUNT + ,sum(APPLY_AMOUNT) as APPLY_AMOUNT, sum(APPLY_APPROVE_AMOUNT) as APPLY_APPROVE_AMOUNT from GCMIS.v_ht_contact_show t where + str_where; DataSet ds = eMisSurface1.ExecQuerySql(sql);

9、 if (ds != null & ds.Tables.Count 0) /故意义不,肯定为True DataRow dr = ds.Tables0.Rows0; jLabel_Jl.Text = drht_contract_count.ToString(); object obj = drSIGN_AMOUNT; de_SIGN_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); /为什么要jLabel_QD.Text = drSIGN_AMOUNT.ToString(0.00); 先转成Decimal,再转成String jLab

10、el_QD.Text = de_SIGN_AMOUNT.ToString(0.00); obj = drALTER_AMOUNT; de_ALTER_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_BG.Text = de_ALTER_AMOUNT.ToString(0.00); obj = drALL_CLAIM_AMOUNT; de_ALL_CLAIM_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_SP.Text = de_ALL_C

11、LAIM_AMOUNT.ToString(0.00); obj = drPAY_AMOUNT; de_PAY_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_ZF.Text = de_PAY_AMOUNT.ToString(0.00); obj = drALL_RP_AMOUNT; de_ALL_RP_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_JF.Text = de_ALL_RP_AMOUNT.ToString(0.00); obj

12、 = drEXE_AMOUNT; de_EXE_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_ZX.Text = de_EXE_AMOUNT.ToString(0.00); obj = drAPPLY_AMOUNT; de_APPLY_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_SQ.Text = de_APPLY_AMOUNT.ToString(0.00); obj = drAPPLY_APPROVE_AMOUNT; de_APPL

13、Y_APPROVE_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); jLabel_PF.Text = de_APPLY_APPROVE_AMOUNT.ToString(0.00); Else /永远不会执行 jLabel_Jl.Text = 0; jLabel_QD.Text = 0.00; jLabel_BG.Text = 0.00; jLabel_SP.Text = 0.00; jLabel_ZF.Text = 0.00; 应当直接在属性中设立初始值 jLabel_JF.Text = 0.00; jLabel_ZX.Text

14、= 0.00; jLabel_SQ.Text = 0.00; jLabel_PF.Text = 0.00; return; 提高代码旳执行效率尽量减少不必要旳计算、循环等,提高代码旳效率合同记录分析GET_CONTRACT_COLLECT_SOURCE措施decimal de_SIGN_AMOUNT = 0; decimal de_ALTER_AMOUNT = 0; decimal de_ALL_CLAIM_AMOUNT = 0; decimal de_PAY_AMOUNT = 0; decimal de_ALL_RP_AMOUNT = 0; decimal de_EXE_AMOUNT = 0

15、; decimal de_APPLY_AMOUNT = 0; decimal de_APPLY_APPROVE_AMOUNT = 0; decimal de_FINAL_AMOUNT = 0; int conatratCount = dt.Rows.Count; if (conatratCount = 0) this.jLabel_Contrat_Count.Text = 0; jLabel_SIGN_AMOUNT.Text = 0.00; jLabel_ALTER_AMOUNT.Text = 0.00; jLabel_CLAIM_AMOUNT.Text = 0.00; jLabel_PAY_

16、AMOUNT.Text = 0.00; jLabel_RP_AMOUNT.Text = 0.00; jLabel_EXE_AMOUNT.Text = 0.00; jLabel_APPLY_AMOUNT.Text = 0.00; jLabel_APPROVE_AMOUNT.Text = 0.00; return; DataTable cloneTable = dt.Clone(); foreach (DataRow item in dt.Rows) string code = itemZONE_CODE.ToString(); string codeLength = code.Split(_);

17、 if (codeLength.Length = 3) DataRow copyRow = cloneTable.NewRow(); copyRow.ItemArray = item.ItemArray.Clone() as object; cloneTable.Rows.Add(copyRow); object obj = cloneTable.Compute(sum(CONTACT_COUNT), true); string count = Convert.ToString(obj is DBNull ? 0 : obj); this.jLabel_Contrat_Count.Text =

18、 count; obj = cloneTable.Compute(sum(SIGN_AMOUNT), true); de_SIGN_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_SIGN_AMOUNT.Text = de_SIGN_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(ALTER_AMOUNT), true); de_ALTER_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj);

19、this.jLabel_ALTER_AMOUNT.Text = de_ALTER_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(ALL_CLAIM_AMOUNT), true); de_ALL_CLAIM_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_CLAIM_AMOUNT.Text = de_ALL_CLAIM_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(PAY_AMOUNT), tr

20、ue); de_PAY_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_PAY_AMOUNT.Text = de_PAY_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(ALL_RP_AMOUNT), true); de_ALL_RP_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_RP_AMOUNT.Text = de_ALL_RP_AMOUNT.ToString

21、(0.00); obj = cloneTable.Compute(sum(EXE_AMOUNT), true); de_EXE_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_EXE_AMOUNT.Text = de_EXE_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(APPLY_AMOUNT), true); de_APPLY_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this

22、.jLabel_APPLY_AMOUNT.Text = de_APPLY_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(APPLY_APPROVE_AMOUNT ), true); de_APPLY_APPROVE_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_APPROVE_AMOUNT.Text = de_APPLY_APPROVE_AMOUNT.ToString(0.00); obj = cloneTable.Compute(sum(FINA

23、L_AMOUNT ), true); de_FINAL_AMOUNT = Convert.ToDecimal(obj is DBNull ? 0.00 : obj); this.jLabel_FINAL_AMOUNT.Text = de_FINAL_AMOUNT.ToString(0.00);重构后:DataRow hz_Row = dt.Select(ZONE_CODE=DT); if (hz_Row.Length = 0) return; DataRow cur_hzRow = hz_Row0; this.jLabel_Contrat_Count.Text = cur_hzRowCONTA

24、CT_COUNT.ToString(); this.jLabel_SIGN_AMOUNT.Text = cur_hzRowSIGN_AMOUNT.ToString(); this.jLabel_ALTER_AMOUNT.Text = cur_hzRowALTER_AMOUNT.ToString(); this.jLabel_CLAIM_AMOUNT.Text = cur_hzRowALL_CLAIM_AMOUNT.ToString(); this.jLabel_PAY_AMOUNT.Text = cur_hzRowPAY_AMOUNT.ToString(); this.jLabel_RP_AM

25、OUNT.Text = cur_hzRowALL_RP_AMOUNT.ToString(); this.jLabel_EXE_AMOUNT.Text = cur_hzRowEXE_AMOUNT.ToString(); this.jLabel_APPLY_AMOUNT.Text = cur_hzRowAPPLY_AMOUNT.ToString(); this.jLabel_APPROVE_AMOUNT.Text = cur_hzRowAPPLY_APPROVE_AMOUNT.ToString(); this.jLabel_FINAL_AMOUNT.Text = cur_hzRowFINAL_AMOUNT.ToString();合同记录分析JBtn_Query_Click措施if (jCHK_ALL.Checked != true) if (jCHK_FENG.Checked) sb.Append( G.PROJECT_TYPE IN(1); if (jCHK_HUO.Checked) if (sb.Length = 0) sb.Append( G.PROJECT_TYPE IN(0); else sb.Append(,0); if (jCHK_SHUI.Checked) if (sb.Length = 0) sb.Ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论