Разметка цветом для обозначения парности фигурных скобок



Редактор кода облегчает разметку цветом и жирным шрифтом или выделением цветным фоном для обозначения парности фигурных скобок.

Разметка цветом и жирным шрифтом

При внесении изменений в любую часть следующих парных конструкций кода строка или парная конструкция кода на непродолжительное время выделяется жирным шрифтом с целью обозначения связи между ними:

 


 

" " A string
@" " A verbatim string
#if, #endif Preprocessor directives for conditional sections
#region, #endregion Preprocessor directives for conditional sections
case, break Control statement keywords
default, break Control statement keywords
for, break Evaluation expression keywords
for, continue Evaluation expression keywords
foreach, break Evaluation expression keywords
foreach, continue Evaluation expression keywords
while, break Evaluation expression keywords
while, continue Evaluation expression keywords

You can disable this feature by clearing the Automatic delimiter highlighting property in the General, Text Editor, Options Dialog Box.

Highlight Colorization

When the pointer is positioned immediately before a starting delimiter, or immediately after an ending delimiter, gray rectangles appear to highlight both starting and ending delimiters to indicate an association between them. This feature is available for the following matching pairs:

{ } braces
[ ] brackets
( ) parenthesis

 

" " Строка
@" " Точная строка
#if, #endif Директивы препроцессора для условных разделов
#region, #endregion Директивы препроцессора для условных разделов
case, break Ключевые слова операторов управления
default, break Ключевые слова операторов управления
for, break Ключевые слова для вычисления значений выражений
for, continue Ключевые слова для вычисления значений выражений
foreach, break Ключевые слова для вычисления значений выражений
foreach, continue Ключевые слова для вычисления значений выражений
while, break Ключевые слова для вычисления значений выражений
while, continue Ключевые слова для вычисления значений выражений

Существует возможность отключить эту функцию, сняв флажок свойства Автоматически выделять разделители в Страница "Общие", папка "Текстовый редактор", диалоговое окно "Параметры".

Разметка цветом и выделение цветным фоном

При размещении курсора непосредственно перед начальным разделителем или непосредственно после конечного разделителя оба разделителя выделяются с помощью серых прямоугольников для обозначения взаимосвязи между ними. Эта функция действует для следующих парных элементов:

{ } фигурные скобки
[ ] квадратные скобки
( ) круглые скобки

 


[1] Создайте консольное приложение с именем MainReturnValTest. Важно, чтобы имя исполняемого файла, указанное во второй строке bat-файла (см. ниже), совпадало с именем приложения.

[2] В конец bat-файла (после строки :end) добавьте оператор pause. После этого сохраните этот текст с каким-либо именем и расширением .bat в каталог bin/Debug – туда, где находится файл MainReturnValueTest.exe. Запустите bat-файл (прим. Фомина Г.В.).

[3] Можно опустить при первом чтении (прим. Фомина Г.В.).

[4] Можно опустить при первом чтении (прим. Фомина Г.В.)

[5] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[6] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[7] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[8] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[9] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[10] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[11] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[12] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[13] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[14] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[15] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

 

[16] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[17] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[18] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[19] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[20] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[21] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[22] Разделы по лямбда-выражениям можно опустить при первом чтении (прим. Фомина Г.В.)

 

[23] Разделы по операторам преобразования можно опустить при первом чтении (прим. Фомина Г.В.)

 

[24] Можно опустить при первом чтении (прим. Фомина Г.В.)

 

[25] В этом примере ошибка. Оператор MyClass mc2 = mc1 не будет пропущен транслятором. Здесь mc1 и mc2 – два нестатических поля класса Program. Одно из полей (в данном случае mc2) не может быть инициализировано значением другого (mc1). Однако оператор MyClass mc2 = mc1 можно написать внутри любого нестатического метода класса Program. Например, внутри конструктора

Program() { MyClass mc2 = mc1;} (прим. Фомина Г.В.)

[26] При первом чтении можно опустить этот раздел (прим. Фомина Г.В.)

[27] В первом описании ссылка object1 получает конкретное значение и наполнение. У объекта object1 есть поля со своими инициализированными значениями, т.к. вызван конструктор класса Customer. В описании obect2 объекта нет. Есть только ссылочная переменная object2, содержащая null – «ссылку в никуда» (прим. Фомина Г.В.)

[28] Для создания сборки в этом примере сделайте следующее:

· Создайте консольное приложение, которое назовите, например, abstractTest

· Добавьте к этому проекту командой Add->New Item… из контекстного меню кодовый файл, который назовите abstractshape. В него поместите первую часть кода, описанного ниже

· Добавьте к проекту еще один кодовый файл с именем shapes. Туда поместите вторую часть кода.

· Наконец, в метод Main приложения поместите заключительный код примера (Прим. Фомина Г.В.)

[29] При первом чтении этот раздел можно опустить (прим. Фомина Г.В.)

[30] Создайте новое консольное приложение. Внутрь класса Program поместите трех классов авто, приведенных в примере. Внутрь метода Main поместите код, написанный внутри метода TestCars1 (прим. Фомина Г.В.)

[31] В тот же метод Main поместите код из TestCars2 и цикл foreach (прим. Фомина Г.В.)

[32] В цикле foreach кода объект vehicle объявлен как объект класса Car. Поэтому вызывается версия метода DescribeCar именно класса Car (прим. Фомина Г.В.).

[33] При первом чтении этот раздел можно опустить (прим. Фомина Г.В.)

[34] Здесь предполагается, что объект obj описан и инициализирован оператором SimpleMath obj=new SimpleMath(); Этот оператор и вторую часть кода можно поместить внутрь метода Main консольного приложения. При этом описание класса SimpleMath можно поместить внутрь класса Program. Более понятной будет следующая редакция кода

       SimpleMath obj = new SimpleMath();

       int result = obj.AddTwoNumbers(1, 2);

       int res1 = obj.SquareANumber(result);

       int res2 = obj.SquareANumber(obj.AddTwoNumbers(1, 2));

       Console.WriteLine(res1 == res2);

       Console.ReadLine();

 (прим. Фомина Г.В.).  

[35] При первом чтении можно опустить этот раздел (прим. Фомина Г.В.)

[36] При первом чтении этот раздел можно опустить (прим. Фомина Г.В.)

[37] При первом чтении этот раздел можно опустить (прим. Фомина Г.В.)

[38] Компиляцию этого примера не проводить (прим. Фомина Г.В.)

[39] При первом чтении этот раздел можно опустить (прим. Фомина Г.В.)

[40] При первом чтении разделы, посвященные разделяемым классам и методам,  можно опустить (прим. Фомина Г.В.)

[41] При первом чтении последующие разделы до раздела «Свойства» можно опустить (прим. Фомина Г.В.)

[42] Приведенный пример содержит код с логическим недостатком. Содержимое конструктора не только увеличивает на единицу текущий счетчик числа служащих (поле counter), но и добавляет к нему значение статического поля NumberOffEmployees. Достаточно в дополнение к приведенному коду в методе Main добавить еще один объект (нового служащего), чтобы убедиться в этом. Представляется, что поле NumberOffEmployees является лишним (прим. Фомина Г.В.)

[43] См. сноску, касающуюся примера 1. Здесь статическое поле NumberOffEmployees остается неизменным, если явно не задается, а поле counter не является статическим, поэтому обнуляется при конструировании нового объекта (прим. Фомина Г.В.)

[44] Этот пример можно опустить при первом прочтении (прим. Фомина Г.В.)

[45] Разделы, посвященные указателям, при первом чтении можно опустить (прим. Фомина Г.В.)

[46] Результатом будет false и true, т.к. в стеке переменная y получит меньший адрес, чем x. Проверьте (прим. Фомина Г.В.)

[47] Более простой вариант. После создания проекта по шаблону Windows Forms Application:

· добавьте на форму кнопку и TextBox,

· щелкните дважды по кнопке и в пустой обработчик Button1_Click скопируйте его содержимое из приведенного на предыдущей странице кода,

· скопируйте также код (и только этот код!), находящийся после конструктора формы (прим. Фомина Г.В.)


Дата добавления: 2019-03-09; просмотров: 188; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!