c# – 为什么在ConfigurationManager.AppSettings [key]上调用.ToString()?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 为什么在ConfigurationManager.AppSettings [key]上调用.ToString()?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1349字,纯文字阅读大概需要2分钟。
内容图文
![c# – 为什么在ConfigurationManager.AppSettings [key]上调用.ToString()?](/upload/InfoBanner/zyjiaocheng/759/38bf30bdf3a44ec08b8767822bf535c5.jpg)
我不确定这是否会归结为意见问题,但我一直看到代码中的模式,我不明白.
在所有C#应用程序中,我一直看到表达式:
System.Configuration.ConfigurationManager.AppSettings["key"].ToString()
很长一段时间以来,我认为这只是我工作的一个怪癖,但我搜索了它,看起来它不仅仅是一些一次性的事情.人们做了相当多的事情,但据我所知,并没有真正谈到它.
例如,这个blog确保在AppSettings上调用.ToString(),this blog也是如此
此外,all the programmers on this question确保在AppSettings集合上调用.ToString().
为了确保我不会发疯,我在Visual Studio中翻阅了该方法,这确保了,是的,AppSettings [key]强类型为字符串,并且在调用.ToString时“没有执行实际的转换”. ).
在我看来,AppSettings [key]和AppSettings [key]之间唯一真正的区别.ToString()是抛出NullReferenceException的可能性.
所以我的问题是:
这样做是否有任何技术原因,或者出于某种原因它是广泛推荐的C#最佳实践,还是只是一个没有实际意义的奇怪怪癖?
解决方法:
我建议这样的代码可能存在的一个强有力的理由是它可能最初是在.NET 2中引入ConfigurationManager之前编写的.
以前,可以使用返回AppSettingsSection的AppSettings属性访问Configuration类.不幸的是,有一个索引器返回object而不是string.
在将代码升级到.NET 2时,他们会看到使用ConfigurationManager的建议,并且将执行最少量的编辑以使其代码使用此类.并没有考虑/考虑删除现在多余的尾随ToString().
1正如评论中所讨论的那样,它很可能是很久以前写的并且很久以前就升级了.但这就是那种将被复制的代码.粘贴了很多,所以几乎病毒式地延续了自己.
内容总结
以上是互联网集市为您收集整理的c# – 为什么在ConfigurationManager.AppSettings [key]上调用.ToString()?全部内容,希望文章能够帮你解决c# – 为什么在ConfigurationManager.AppSettings [key]上调用.ToString()?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。