ASP.Net 映射值查找
目前,在我的 ASP.Net 应用程序 web.config 中,我有一个应用程序设置,用于存储以逗号分隔的映射值列表,如下所示。 在后面的代码中,我需要根据输入值 1、2、3 等对此数据执行查找。我可以对其进行字符串拆分并循环,直到找到匹配项,或者使用 Regex 从配置字符串中提取值。
目前我正在使用正则表达式来获取映射值。 我不反对更改数据在 web.config 中的存储方式。 有没有更简单、更优雅的方法来处理这个问题?
<add key="Mappings" value="1|APP,2|TRG,3|KPK,4|KWT,5|CUT" />
Currently in my ASP.Net applications web.config I have an application setting that stores a comma delimited list of mapping values, like the one below. In the code behind I need to perform a lookup on this data based on input values 1, 2, 3 etc. I can either string split it and loop until I find a match, or use Regex to pull the value from the config string.
Currently i'm using Regex to get the mapping value. I'm not opposed to changing how the data is stored in the web.config. Is there a more simple and elegant way of handling this?
<add key="Mappings" value="1|APP,2|TRG,3|KPK,4|KWT,5|CUT" />
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您需要经常使用此查找,并且 web.config 中的字符串不经常更改,那么将字符串解析为 Dictionary 对象并将其存储在应用程序或缓存中是有意义的。
从字典中查找将快如闪电,特别是与每次解析字符串相比。
If you need to use this lookup frequently and the string in web.config doesn't change very often, then it makes sense to parse the string once into a Dictionary object and store that in the Application or Cache.
Lookups from the Dictionary will be lightning fast, especially compared to parsing the string each time.
只是好奇:) LINQ
或者
Just curious :) What about LINQ
Or
用逗号分割字符串,然后用|分割每个子字符串,将它们存储在字典中并通过键查找它。
这只是正则表达式的替代方案。 您知道他们如何评价正则表达式。
Split the string on commas, then each substring on |, store these in a Dictionary and find it by key.
That's just as an alternative to Regex. You know what they say about Regex.