2

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

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

谢谢, TJ

4

1 回答 1

1

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

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

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

于 2012-12-13T15:19:11.963 回答