Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю Страница 92

Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Компьютеры и Интернет / Базы данных. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте FullBooks.club (Фулбукс) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала


Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю» бесплатно полную версию:

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю читать онлайн бесплатно

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - читать книгу онлайн бесплатно, автор Троелсен Эндрю

  // Поля структуры.

  public int X;

  public int Y;

  // Добавить 1 к позиции (X, Y).

  public void Increment()

  {

    X++; Y++;

  }

  // Вычесть 1 из позиции (X, Y).

  public void Decrement()

  {

    X--; Y--;

  }

  // Отобразить текущую позицию.

  public void Display()

  {

    Console.WriteLine("X = {0}, Y = {1}", X, Y);

  }

}

Здесь определены два целочисленных поля (X и Y) с использованием ключевого слова public, которое является модификатором управления доступом (их обсуждение будет продолжено в главе 5). Объявление данных с ключевым словом public обеспечивает вызывающему коду возможность прямого доступа к таким данным через переменную типа Point (посредством операции точки).

На заметку! Определение открытых данных внутри класса или структуры обычно считается плохим стилем программирования. Взамен рекомендуется определять закрытые данные, доступ и изменение которых производится с применением открытых свойств. Более подробные сведения приведены в главе 5.

Вот код, который позволяет протестировать тип Point:

Console.WriteLine("***** A First Look at Structures *****\n");

// Создать начальную переменную типа Point.

Point myPoint;

myPoint.X = 349;

myPoint.Y = 76;

myPoint.Display();

// Скорректировать значения X и Y.

myPoint.Increment();

myPoint.Display();

Console.ReadLine();

Вывод выглядит вполне ожидаемо:

***** A First Look at Structures *****

X = 349, Y = 76

X = 350, Y = 77

Создание переменных типа структур

Для создания переменной типа структуры на выбор доступно несколько вариантов. В следующем коде просто создается переменная типа Point и затем каждому ее открытому полю данных присваиваются значения до того, как обращаться к членам переменной. Если не присвоить значения открытым полям данных (X и Y в данном случае) перед использованием структуры, то компилятор сообщит об ошибке:

// Ошибка! Полю Y не присвоено значение.

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

Point p1;

p1.X = 10;

p1.Display();

// Все в порядке! Перед использованием значения присвоены обоим полям.

Point p2;

p2.X = 10;

p2.Y = 10;

p2.Display();

В качестве альтернативы переменные типа структур можно создавать с применением ключевого слова new языка С#, что приводит к вызову стандартного конструктора структуры. По определению стандартный конструктор не принимает аргументов. Преимущество вызова стандартного конструктора структуры заключается в том, что каждое поле данных автоматически получает свое стандартное значение:

// Установить для всех полей стандартные значения,

// используя стандартный конструктор.

Point p1 = new Point();

// Выводит Х=0, Y=0

p1.Display();

Допускается также проектировать структуры со специальным конструктором, что позволяет указывать значения для полей данных при создании переменной, а не устанавливать их по отдельности. Конструкторы подробно рассматриваются в главе 5; однако в целях иллюстрации измените структуру Point следующим образом:

struct Point

{

  // Поля структуры.

  public int X;

  public int Y;

  // Специальный конструктор.

  public Point(int xPos, int yPos)

  {

   X = xPos;

    Y = yPos;

  }

...

}

Затем переменные типа Point можно создавать так:

// Вызвать специальный конструктор.

Point p2 = new Point(50, 60);

// Выводит X=50,Y=60.

p2.Display();

Использование структур, допускающих только чтение (нововведение в версии 7.2)

Структуры можно также помечать как допускающие только чтение, если необходимо, чтобы они были неизменяемыми. Неизменяемые объекты должны устанавливаться при конструировании и поскольку изменять их нельзя, они могут быть более производительными. В случае объявления структуры как допускающей только чтение все свойства тоже должны быть доступны только для чтения. Но может возникнуть вопрос, как тогда устанавливать свойство, если оно допускает только чтение? Ответ заключается в том, что значения свойств должны устанавливаться во время конструирования структуры. Модифицируйте класс, представляющий точку, как показано ниже:

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.