Поделиться через


Структуры

Обновлен: Ноябрь 2007

Структура в C# аналогична классу, однако в структурах отсутствуют некоторые возможности, например наследование. Кроме того, поскольку структура является типом значения, ее можно создать быстрее, чем класс. При наличии непрерывного цикла, где создается большое количество новых структур данных, вместо класса рекомендуется использовать структуру. Структуры используются для инкапсуляции групп полей данных, таких как координаты точки в сетке или размеры прямоугольника. Дополнительные сведения см. в разделе Классы.

Пример

В следующем примере программы определяется struct для сохранения географического расположения. Здесь также переопределяется метод ToString() для вывода более необходимых результатов при отображении в операторе WriteLine. Поскольку в struct методы отсутствуют, определение структуры в качестве класса бессмысленно.

struct GeographicLocation
{
    private double longitude;
    private double latitude;

    public GeographicLocation(double longitude, double latitude)
    {
        this.longitude = longitude;
        this.latitude = latitude;
    }

    public override string ToString()
    {
        return System.String.Format("Longitude: {0} degrees, Latitude: {1} degrees", longitude, latitude);
    }
}

class Program
{
    static void Main()
    {
        GeographicLocation Seattle = new GeographicLocation(123, 47);
        System.Console.WriteLine("Position: {0}", Seattle.ToString());
    }
}

Результат

После выполнения примера выводится следующий результат.

Position: Longitude: 123 degrees, Latitude: 47 degrees

См. также

Основные понятия

Руководство по программированию в C#

Основы языка C#

Классы

Ссылки

class

структура

Классы и структуры (Руководство по программированию в C#)