Switch Statement vs App.Config

时间:2012-12-13 15:11:30

标签: c# performance switch-statement config

我有一个MVVM Xaml应用程序,我正试图从这个可能的最后一毫秒挤出这个。我注意到的一件事是,从App.Config中提取了从代码到字符串的转换。只有5个值,所以不是很多。我想,我可以把它放在一个switch语句中,它会更快(令我惊讶的是它同时)。这被称为多次,大约80,可以是5个值中的任何一个,或者不是5个中的任何一个。以前只有一个string.IsNullOrEmpty检查ConfigurationManager.AppSettings中的值,看它是否找到了值。在我的开关中,我只是输入默认值“”。如果有的话,这些值很少会改变,但可能会有更多。

所以我的问题是,当项目数量发生变化时,使用switch或App.Config是否有性能优势?我在App.Config中放置任何内容的唯一原因是用户是否需要在不重建应用程序的情况下修改内容。目前,由于我的测试显示时间相同,我倾向于将其保留在App.Config中,但我只想听听每个人的想法。

谢谢, TJ

1 个答案:

答案 0 :(得分:1)

App config中的参数在首次读取后会被缓存。初始读取可能需要一些开销,因为它需要进行磁盘访问。

在这种情况下,开关也会更快,我们说的是纳秒。 我想,一旦你的配置值第一次被实际读取,从缓存中读取它们的性能是相似的。

由于您似乎有理由允许用户更改它们,因此我将它们留在app.config中。