C++如何读入优化

C++如何读入优化,第1张

int read()

{

int p=1,x

char c

while((c=getchar())<'0'||c>衡纤拦'9')

if(c=='-')

p=-1

x=c-'0'

while((c=getchar())>'0'&&c<='咐胡9')

x=x*10+c-'0'竖枯

x*=p

return x

}

给你个小建议,不能从根本上解决你的问题,不过看起来可能会好一些。

1、把你的

If (e.Row.RowType = DataControlRowType.DataRow) Then

e.Row.Cells(n).Attributes.Add("class", "text")

End If

代码移到上面的循环“For i = 0 To gvSalaryYear.Rows.Count - 1 '循环仿旅肢读取,并累加”中去,这样减少了循环次数

2、备世由于循环次数较多,导致Windows无法刷新界面元素,给人的感觉像是死机了。所以最好给Windows留出执行其它事件的时间。

也就是在你的循环内部加入Application.DoEvent()。最好在

gvSalaryYear.Rows(i).Cells(13).Text = Format(sum, "#,##0.00")

后面加,这样当你改变文本的内容后,画面可以得到更镇念新。

3、减少类型转换的次数

If (Not gvSalaryYear.Rows(i).Cells(j).Text.Trim() Is Nothing And gvSalaryYear.Rows(i).Cells(j).Text.Trim() <>" ") Then

sum += Convert.ToDouble(gvSalaryYear.Rows(i).Cells(j).Text.Trim())

End If

改为:

变量 = gvSalaryYear.Rows(i).Cells(j).Text

If (Not 变量 Is Nothing And String.IsNullOrEmpty(变量.Trim())) Then

sum += Convert.ToDouble(变量.Trim())

End If

这样也可以提高速度。

注:你的“Not gvSalaryYear.Rows(i).Cells(j).Text.Trim() Is Nothing”代码是有问题的,如果gvSalaryYear.Rows(i).Cells(j).Text是Nothing,在执行Trim()时会出现异常。

希望以上建议对你有用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12514481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存