Namespaces (C# Programming Guide) 

Namespaces are heavily used in C# programming in two ways. First, the .NET Framework uses namespaces to organize its many classes, as follows:

System.Console.WriteLine("Hello World!");

System is a namespace and Console is a class contained within that namespace. The using keyword can be used so that the entire name is not required, like this:

using System;
Console.WriteLine("Hello");
Console.WriteLine("World!");

For more information, see the topic using Directive (C# Reference).

Second, declaring your own namespaces can help you control the scope of class and method names in larger programming projects. Use the namespace keyword to declare a namespace, as in the following example:

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
              "SampleMethod inside SampleNamespace");
        }
    }
}

Namespaces Overview

A namespace has the following properties:

  • They organize large code projects.

  • They are delimited with the . operator.

  • The using directive means you do not need to specify the name of the namespace for every class.

  • The global namespace is the "root" namespace: global::system will always refer to the .NET Framework namespace System.

See the following topics for more information on namespaces:

C# Language Specification

For more information, see the following sections in the C# Language Specification:

  • 9 Namespaces

See Also

Reference

Namespace Keywords (C# Reference)
using Directive (C# Reference)
:: Operator (C# Reference)
. Operator (C# Reference)

Concepts

C# Programming Guide