2014-10-01 14 views
9

Có sự khác biệt giữa:Sự khác biệt giữa không gian tên không gian tên dot và không gian tên lồng nhau là gì?

namespace Outer.Inner 
{ 
} 

namespace Outer 
{ 
    namespace Inner 
    { 
    } 
} 

trong C#?

+0

Theo kinh nghiệm của tôi, tùy chọn đầu tiên là sạch hơn và loại bỏ nhiều lớp lồng nhau. Điều này có thể rất hữu ích cho sự rõ ràng trong những người khác đọc mã của bạn, nhưng như vậy là sự tự do của mã. Sử dụng một cách khôn ngoan. – SnareChops

Trả lời

6

Không khác biệt gì, đó là những điều tương tự, tuy nhiên một trong những đầu tiên là phổ biến hơn.

5

Không, nhưng biến thể đầu tiên được sử dụng nhiều nhất trong mã C#.
Biến thể thứ hai là những gì bạn phải viết bằng C++ và tôi không chắc mình đã từng thấy nó trong mã C# thực chưa.

10

Giả sử bạn không đặt bất kỳ tuyên bố nào khác hoặc using chỉ thị trong không gian tên Outer, không có sự khác biệt nào cả.

Giả sử bạn rất rất hiếm khi khai báo thành viên trong nhiều không gian tên trong một tệp, tôi khuyên bạn nên sử dụng biểu mẫu đầu tiên - ngoài bất kỳ thứ gì khác. Lưu ý rằng "cú đúp vào lúc bắt đầu một dòng mới" là một phong cách thanh giằng thường hơn cho C# mặc dù:

namespace Outer.Inner 
{ 
    ... 
} 
+2

Cảm ơn, tôi đã lập trình trong C++ một thời gian và tôi thực sự không thích niềng răng khi bắt đầu dòng mới, tôi không biết tại sao, nhưng rất khó cho tôi đọc mã như thế! – paul

+3

@paul: Trong khi quy ước giằng không phổ biến như đặt tên, tôi nghĩ rằng nó đáng để đắm mình trong các quy ước phổ biến nhất của ngôn ngữ - bạn sẽ quen với nó khá nhanh, và sau đó tất cả các ví dụ, v.v. bạn sẽ đọc trên mạng sẽ dễ đọc hơn ... * và * bất kỳ ai đọc mã của bạn (từ nền C#) sẽ thấy dễ đọc hơn. –

+2

cảm ơn, tôi sẽ cố gắng làm điều đó từ bây giờ, tuy nhiên tôi đã thấy một số thư viện trên trang web này: http://referencesource.microsoft.com/ sử dụng cùng một kiểu giằng như tôi sử dụng, nhưng tôi đoán bạn là đúng, cảm ơn vì những lời khuyên! – paul

Các vấn đề liên quan