वास्तव में उनके बीच एक पतला अंतर है।
उदाहरण निम्नलिखित पर विचार करें: इस पर
//File1.cs
using System;
namespace Outer.Inner
{
class Foo
{
static void Bar()
{
double d = Math.PI;
}
}
}
// File2.cs
namespace Outer
{
class Math
{
}
}
संकलक, एक त्रुटि प्राप्त होगी के रूप में यह System
नाम स्थान पर देख से पहले Outer
नाम स्थान में Math
वर्ग, मिल जाएगा। और के अंदरMath
नामस्थान कोई PI
नहीं है।
मामले में, यदि आप, बजाय, using System
अंदर वर्ग घोषणा शब्दों में कहें, यह पहले द्वारा संकलक द्वारा उठाया जाएगा, ताकि कोई त्रुटि उत्पादन किया जाएगा।
इस के लाभ स्पष्ट है: मामले में अगर आप कुछ कोड, जहां किसी ही नाम स्थान कि आप ने लिखा में Math
वर्ग लिखा मिलता है, तो आप उस समस्या वैकल्पिक हल करने के लिए एक मौका है।
इस लिंक पर अधिक विस्तृत विवरण नज़र Should Usings be inside or outside the namespace
भी इस [विकी सवाल] में
(http://stackoverflow.com/questions/2026466/c-sharp- (जहां मैं gracefuly भी कोड कॉपी से) के लिए -नेमस्पेस-निर्देश-इन-नेस्टेड-नेमस्पेस का उपयोग करके) आपको अपने प्रश्न – Steve
पर बहुत अच्छा 'कोड के पीछे क्या होता है' मिलेगा http://blogs.msdn.com/b/ericlippert/archive/2007/06 /25/inside-or-outside.aspx –