Просматривая исходные коды примеров в интернет, книгах и т.д. новичкам сперва попадается на глаза записи вроде:
using System; //В примере на C#
Imports System //В примере на VB.Net
using namespace System; //В примере на VC++ касательно CLR
Это так называемое пространство имен. Программист может создавать свои пространства имен, использовать системные. В данном случае мы обращаемся к имени. Здесь содержится набор основных классов, и мы здесь создаем свой класс. Классы, которые предоставляет System можно использовать на любом языке программирования. Давайте посмотрим некоторые из пространств имен для примера.
System.Collections //определяет классы для работы с коллекциями, такими как очереди, списки,
массивы, словари и так далее.
System.Data - определяет классы для работы с ADO Net для доступа к базам данных.
System.Drawing - доступ к основным функциям GDI
System.IO - системный ввод вывод (работа с файлами)
Структура пространства имен имеет древовидную структуру. Например, System.Data имеет еще несколько ветвей:
System.Data.OleDb - OLEDB Net
System.Data.SqlClient - SQL Server Net клиент
Кроме того, в пространстве имен систем определены глобальные типы данных, которые тоже могут быть использованы в любых языках программирования. Общая система типов носит название Common Type System (CTS). Давайте я приведу некоторые типы для примера:
System.Object
System.Byte
System.Char
System.Array
System.Int32
System.String
Все пространства имен в базовой реализации отвечают системным библиотекам DLL в сборках
System.Core.dll
System.Xml.Linq.dll
По пути -> C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll
Также можно логически отделить пространства имен (пользовательские), так сказать, вложенные пространства, чтоб не дублировать имена классов (обращение будет более глубоким по вложенным классам и методам).
Пример:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Namespase_FirstSpace
{
namespace Namespase_SecondSpace
{
class Program
{
static void Main(string[] args)
{
}
}
}
}
//обращение: Namespase_FirstSpace.
//Namespase_SecondSpace.class.Method