使用using
声明是否有程序优势?
请注意此示例之间的区别:
using Application.Data;
namespace Application.Web
{
public class SampleClass
{
public void SampleMethod()
{
List<Category> categories = CreateCategoriesData();
Category expected = categories[0];
...
...
}
}
}
这一个:
namespace Application.Web
{
public class SampleClass
{
public void SampleMethod()
{
List<Data.Category> categories = CreateCategoriesData();
Data.Category expected = categories[0];
...
...
}
}
}
答案 0 :(得分:6)
使您的代码更短,更易读。我不知道其他人的想法,但我个人觉得在代码中完全限定类型名称是绝对可怕的。
而不是:
List<Data.Category> categories = CreateCategoriesData();
你可以写
var categories = CreateCategoriesData();
因此摆脱using
并使您的代码更短。然后,当明天你决定重命名一个类或一个命名空间时,你会有更少的事情需要担心。
就发射的IL而言,两者完全等效,因此您应该使用对您更具可读性的内容,当然如果您在开发人员团队中工作,则尊重既定的编码标准。我已经看到两个实际使用过,而且已经把我的2美分扔到了第二个版本。
答案 1 :(得分:5)
没有“程序化”的好处:编译代码后,生成的库或可执行文件没有区别。这是您的组织的偏好和有时编码标准的问题。我们公司更喜欢使用using
,除非极少数情况下不可能。