我知道这是一个非常弱的例子,但我的问题更多的是为了理解更好的编程实践,所以请耐心等待我的例子本身.
在处理程序时,我遇到的情况是我必须用一个不同的字符替换字符串中的多个字符.
例如,所有字符{" ", "-", "/", "*"}
必须全部替换为下划线"_"
.但这仅在整个程序中发生一次,结果存储在变量中.
所以,我知道我可以通过String.Replace()
以下方式使用多个语句来完成它:
string ChangedString1 = MyString.Replace(" ", "_").Replace("-", "_").Replace("/", "_").Replace("*", "_");
但我知道我也可以使用正则表达式来完成它,例如:
using System.Text.RegularExpressions; ... string ChangedString2 = Regex.Replace(MyString, @"[\s-/*]", "_");
现在,我的问题不是关于哪种方法更好,而是问题是将using System.Text.RegularExpressions;
语句仅包含在一个这样的用途中是多么昂贵?并且,也许System.Text
并不是那么昂贵,但是如果只为一个小用途添加其他参考资料呢?
问题是,是否存在某种行业偏好,关于在哪个方面编写自己的方法更好,而不是仅为一个或两个较小的函数包含对库的引用.或者我错误地理解参考文献是如何工作的,并且它们首先不是那么昂贵吗?
感谢您的帮助,我希望这个问题有道理!
using
语句是纯粹的编译时功能,可以在引用类时省略名称空间.
它们在运行时没有任何影响.
这些类在mscorlib.dll中,无论如何你都会引用它.
.NET Framework
相对于程序的其余部分,对库的引用并不昂贵.您应该以最简单的方式解决手头的问题,而不用担心.
如果你需要第三方参考,你的用户需要安装它,或者它有不同的许可证,这将是另一种蠕虫,我可以看到,考虑编写一个小功能本身是有道理的.