“使用”指令是否提供任何好处?

时间:2012-04-11 17:21:29

标签: c# .net

使用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];
            ...
        ...
        }
    }
}

2 个答案:

答案 0 :(得分:6)

使您的代码更短,更易读。我不知道其他人的想法,但我个人觉得在代码中完全限定类型名称是绝对可怕的。

而不是:

List<Data.Category> categories = CreateCategoriesData();
你可以写

var categories = CreateCategoriesData();

因此摆脱using并使您的代码更短。然后,当明天你决定重命名一个类或一个命名空间时,你会有更少的事情需要担心。

就发射的IL而言,两者完全等效,因此您应该使用对您更具可读性的内容,当然如果您在开发人员团队中工作,则尊重既定的编码标准。我已经看到两个实际使用过,而且已经把我的2美分扔到了第二个版本。

答案 1 :(得分:5)

没有“程序化”的好处:编译代码后,生成的库或可执行文件没有区别。这是您的组织的偏好和有时编码标准的问题。我们公司更喜欢使用using,除非极少数情况下不可能。