2

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

2 回答 2

6

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

也代替:

List<Data.Category> categories = CreateCategoriesData();

你可以写

var categories = CreateCategoriesData();

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

就发出的 IL 而言,两者是完全等价的,所以如果你在一个开发团队中工作,你应该真正使用对你来说更具可读性的东西,当然也应该尊重既定的编码标准。我已经看到两者都实际使用过,并且已经为第二个版本投入了 2 美分。

于 2012-04-11T17:22:29.267 回答
5

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

于 2012-04-11T17:26:26.567 回答