Исходный код вики CLR via C# | Джеффри Рихтер

Версия 3.1 от Alexandr Fokin на 2020/08/09 22:10

Скрыть последних авторов
Alexandr Fokin 2.1 1
2 {{html}}
Alexandr Fokin 3.1 3 <html>
Alexandr Fokin 2.1 4
5 <head>
6 <meta http-equiv=Content-Type content="text/html; charset=windows-1251">
Alexandr Fokin 3.1 7 <meta name=Generator content="Microsoft Word 15 (filtered)">
Alexandr Fokin 2.1 8 <style>
9 <!--
10 /* Font Definitions */
11 @font-face
12 {font-family:Wingdings;
Alexandr Fokin 3.1 13 panose-1:5 0 0 0 0 0 0 0 0 0;}
Alexandr Fokin 2.1 14 @font-face
15 {font-family:"Cambria Math";
Alexandr Fokin 3.1 16 panose-1:2 4 5 3 5 4 6 3 2 4;}
Alexandr Fokin 2.1 17 @font-face
18 {font-family:"Calibri Light";
Alexandr Fokin 3.1 19 panose-1:2 15 3 2 2 2 4 3 2 4;}
Alexandr Fokin 2.1 20 @font-face
21 {font-family:"Segoe UI";
Alexandr Fokin 3.1 22 panose-1:2 11 5 2 4 2 4 2 2 3;}
Alexandr Fokin 2.1 23 /* Style Definitions */
24 p.MsoNormal, li.MsoNormal, div.MsoNormal
Alexandr Fokin 3.1 25 {margin-top:0cm;
Alexandr Fokin 2.1 26 margin-right:0cm;
27 margin-bottom:8.0pt;
28 margin-left:0cm;
29 line-height:107%;
30 font-size:11.0pt;
Alexandr Fokin 3.1 31 font-family:"Calibri",sans-serif;}
Alexandr Fokin 2.1 32 h1
Alexandr Fokin 3.1 33 {mso-style-link:"Заголовок 1 Знак";
Alexandr Fokin 2.1 34 margin-top:12.0pt;
35 margin-right:0cm;
36 margin-bottom:0cm;
37 margin-left:0cm;
38 margin-bottom:.0001pt;
39 line-height:107%;
40 page-break-after:avoid;
41 font-size:16.0pt;
42 font-family:"Calibri Light",sans-serif;
43 color:#2E74B5;
44 font-weight:normal;}
45 h2
Alexandr Fokin 3.1 46 {mso-style-link:"Заголовок 2 Знак";
Alexandr Fokin 2.1 47 margin-top:2.0pt;
48 margin-right:0cm;
49 margin-bottom:0cm;
50 margin-left:0cm;
51 margin-bottom:.0001pt;
52 line-height:107%;
53 page-break-after:avoid;
54 font-size:13.0pt;
55 font-family:"Calibri Light",sans-serif;
56 color:#2E74B5;
57 font-weight:normal;}
58 h3
Alexandr Fokin 3.1 59 {mso-style-link:"Заголовок 3 Знак";
Alexandr Fokin 2.1 60 margin-top:2.0pt;
61 margin-right:0cm;
62 margin-bottom:0cm;
63 margin-left:0cm;
64 margin-bottom:.0001pt;
65 line-height:107%;
66 page-break-after:avoid;
67 font-size:12.0pt;
68 font-family:"Calibri Light",sans-serif;
69 color:#1F4D78;
70 font-weight:normal;}
71 h4
Alexandr Fokin 3.1 72 {mso-style-link:"Заголовок 4 Знак";
Alexandr Fokin 2.1 73 margin-top:2.0pt;
74 margin-right:0cm;
75 margin-bottom:0cm;
76 margin-left:0cm;
77 margin-bottom:.0001pt;
78 line-height:107%;
79 page-break-after:avoid;
80 font-size:11.0pt;
81 font-family:"Calibri Light",sans-serif;
82 color:#2E74B5;
83 font-weight:normal;
84 font-style:italic;}
85 p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
Alexandr Fokin 3.1 86 {mso-style-link:"Текст выноски Знак";
Alexandr Fokin 2.1 87 margin:0cm;
88 margin-bottom:.0001pt;
89 font-size:9.0pt;
Alexandr Fokin 3.1 90 font-family:"Segoe UI",sans-serif;}
Alexandr Fokin 2.1 91 p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
Alexandr Fokin 3.1 92 {margin-top:0cm;
Alexandr Fokin 2.1 93 margin-right:0cm;
94 margin-bottom:8.0pt;
95 margin-left:36.0pt;
96 line-height:107%;
97 font-size:11.0pt;
Alexandr Fokin 3.1 98 font-family:"Calibri",sans-serif;}
Alexandr Fokin 2.1 99 p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
Alexandr Fokin 3.1 100 {margin-top:0cm;
Alexandr Fokin 2.1 101 margin-right:0cm;
102 margin-bottom:0cm;
103 margin-left:36.0pt;
104 margin-bottom:.0001pt;
105 line-height:107%;
106 font-size:11.0pt;
Alexandr Fokin 3.1 107 font-family:"Calibri",sans-serif;}
Alexandr Fokin 2.1 108 p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
Alexandr Fokin 3.1 109 {margin-top:0cm;
Alexandr Fokin 2.1 110 margin-right:0cm;
111 margin-bottom:0cm;
112 margin-left:36.0pt;
113 margin-bottom:.0001pt;
114 line-height:107%;
115 font-size:11.0pt;
Alexandr Fokin 3.1 116 font-family:"Calibri",sans-serif;}
Alexandr Fokin 2.1 117 p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
Alexandr Fokin 3.1 118 {margin-top:0cm;
Alexandr Fokin 2.1 119 margin-right:0cm;
120 margin-bottom:8.0pt;
121 margin-left:36.0pt;
122 line-height:107%;
123 font-size:11.0pt;
Alexandr Fokin 3.1 124 font-family:"Calibri",sans-serif;}
Alexandr Fokin 2.1 125 span.1
126 {mso-style-name:"Заголовок 1 Знак";
127 mso-style-link:"Заголовок 1";
128 font-family:"Calibri Light",sans-serif;
Alexandr Fokin 3.1 129 color:#2E74B5;}
Alexandr Fokin 2.1 130 span.2
131 {mso-style-name:"Заголовок 2 Знак";
132 mso-style-link:"Заголовок 2";
133 font-family:"Calibri Light",sans-serif;
Alexandr Fokin 3.1 134 color:#2E74B5;}
Alexandr Fokin 2.1 135 span.3
136 {mso-style-name:"Заголовок 3 Знак";
137 mso-style-link:"Заголовок 3";
138 font-family:"Calibri Light",sans-serif;
Alexandr Fokin 3.1 139 color:#1F4D78;}
Alexandr Fokin 2.1 140 span.4
141 {mso-style-name:"Заголовок 4 Знак";
142 mso-style-link:"Заголовок 4";
143 font-family:"Calibri Light",sans-serif;
144 color:#2E74B5;
145 font-style:italic;}
146 span.a
147 {mso-style-name:"Текст выноски Знак";
148 mso-style-link:"Текст выноски";
Alexandr Fokin 3.1 149 font-family:"Segoe UI",sans-serif;}
Alexandr Fokin 2.1 150 .MsoPapDefault
Alexandr Fokin 3.1 151 {margin-bottom:8.0pt;
Alexandr Fokin 2.1 152 line-height:107%;}
153 @page WordSection1
154 {size:595.3pt 841.9pt;
Alexandr Fokin 3.1 155 margin:36.0pt 36.0pt 36.0pt 36.0pt;}
Alexandr Fokin 2.1 156 div.WordSection1
157 {page:WordSection1;}
158 /* List Definitions */
Alexandr Fokin 3.1 159 ol
Alexandr Fokin 2.1 160 {margin-bottom:0cm;}
161 ul
162 {margin-bottom:0cm;}
163 -->
164 </style>
Alexandr Fokin 3.1 165
Alexandr Fokin 2.1 166 </head>
167
Alexandr Fokin 3.1 168 <body lang=RU>
Alexandr Fokin 2.1 169
170 <div class=WordSection1>
171
Alexandr Fokin 3.1 172 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
173 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
174 </span></span>Часть I. Основы CLR</h1>
Alexandr Fokin 2.1 175
Alexandr Fokin 3.1 176 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
177 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
178 1. Модель выполнения кода в среде CLR</h2>
Alexandr Fokin 2.1 179
Alexandr Fokin 3.1 180 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
181 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компиляция
182 исходного кода в управляемые модули</h3>
Alexandr Fokin 2.1 183
Alexandr Fokin 3.1 184 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
185 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Объединение
186 управляемых модулей в сборку</h3>
Alexandr Fokin 2.1 187
Alexandr Fokin 3.1 188 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
189 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Загрузка
190 CLR</h3>
Alexandr Fokin 2.1 191
Alexandr Fokin 3.1 192 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
193 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Исполнение
194 кода сборки </h3>
Alexandr Fokin 2.1 195
Alexandr Fokin 3.1 196 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
197 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
198 </span></span>IL-код и верификация</h4>
Alexandr Fokin 2.1 199
Alexandr Fokin 3.1 200 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
201 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
202 </span></span>Небезопасный код</h4>
Alexandr Fokin 2.1 203
Alexandr Fokin 3.1 204 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
205 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
206 </span></span>IL и защита интеллектуальной собственности</h4>
Alexandr Fokin 2.1 207
Alexandr Fokin 3.1 208 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
209 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
210 </span></span><span lang=EN-US>NGen.exe</span></h3>
Alexandr Fokin 2.1 211
Alexandr Fokin 3.1 212 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
213 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
214 </span></span>Библиотека <span lang=EN-US>FCL </span></h3>
Alexandr Fokin 2.1 215
Alexandr Fokin 3.1 216 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
217 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
218 </span></span><span lang=EN-US>CTS</span></h3>
Alexandr Fokin 2.1 219
Alexandr Fokin 3.1 220 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
221 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>CLS</h3>
Alexandr Fokin 2.1 222
Alexandr Fokin 3.1 223 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
224 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Взаимодействие
225 с неуправляемым кодом</h3>
Alexandr Fokin 2.1 226
Alexandr Fokin 3.1 227 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
228 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
229 2. Компоновка, упаковка, развертывание и администрирование приложений и типов</h2>
Alexandr Fokin 2.1 230
Alexandr Fokin 3.1 231 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
232 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Задачи
233 развертывания в <span lang=EN-US>.</span>NET Framework</h3>
Alexandr Fokin 2.1 234
Alexandr Fokin 3.1 235 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
236 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компоновка
237 типов в модуль</h3>
Alexandr Fokin 2.1 238
Alexandr Fokin 3.1 239 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
240 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
241 </span></span>Файл параметров</h4>
Alexandr Fokin 2.1 242
Alexandr Fokin 3.1 243 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
244 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Несколько
245 слов о метаданных</h3>
Alexandr Fokin 2.1 246
Alexandr Fokin 3.1 247 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
248 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Объединение
249 модулей для создания сборки</h3>
Alexandr Fokin 2.1 250
Alexandr Fokin 3.1 251 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
252 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
253 </span></span>Добавление сборок в проект в среде Visual Studio</h4>
Alexandr Fokin 2.1 254
Alexandr Fokin 3.1 255 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
256 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
257 </span></span>Использование утилиты Assembly Linker</h4>
Alexandr Fokin 2.1 258
Alexandr Fokin 3.1 259 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
260 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
261 </span></span>Включение в сборку файлов ресурсов</h4>
Alexandr Fokin 2.1 262
Alexandr Fokin 3.1 263 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
264 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Ресурсы
265 со сведениями о версии сборки</h3>
Alexandr Fokin 2.1 266
Alexandr Fokin 3.1 267 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
268 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
269 </span></span>Номера версии</h4>
Alexandr Fokin 2.1 270
Alexandr Fokin 3.1 271 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
272 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Региональные
273 стандарты</h3>
Alexandr Fokin 2.1 274
Alexandr Fokin 3.1 275 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
276 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Развертывание
277 простых приложений (закрытое развертывание сборок)</h3>
Alexandr Fokin 2.1 278
Alexandr Fokin 3.1 279 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
280 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простое
281 средство администрирования (конфигурационный файл)</h3>
Alexandr Fokin 2.1 282
Alexandr Fokin 3.1 283 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
284 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
285 </span></span>Алгоритм поиска файлов сборки</h4>
Alexandr Fokin 2.1 286
Alexandr Fokin 3.1 287 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
288 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
289 3. Совместно используемые сборки и сборки со строгим именем</h2>
Alexandr Fokin 2.1 290
Alexandr Fokin 3.1 291 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
292 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Два
293 вида сборок — два вида развертывания</h3>
Alexandr Fokin 2.1 294
Alexandr Fokin 3.1 295 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
296 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Назначение
297 сборке строгого имени</h3>
Alexandr Fokin 2.1 298
Alexandr Fokin 3.1 299 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
300 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Глобальный
301 кэш сборок</h3>
Alexandr Fokin 2.1 302
Alexandr Fokin 3.1 303 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
304 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Построение
305 сборки, ссылающейся на сборку со строгим именем</h3>
Alexandr Fokin 2.1 306
Alexandr Fokin 3.1 307 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
308 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Устойчивость
309 сборок со строгими именами к несанкционированной модификации</h3>
Alexandr Fokin 2.1 310
Alexandr Fokin 3.1 311 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
312 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отложенное
313 подписание</h3>
Alexandr Fokin 2.1 314
Alexandr Fokin 3.1 315 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
316 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Закрытое
317 развертывание сборок со строгими именами</h3>
Alexandr Fokin 2.1 318
Alexandr Fokin 3.1 319 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
320 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
321 исполняющая среда разрешает ссылки на типы</h3>
Alexandr Fokin 2.1 322
Alexandr Fokin 3.1 323 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
324 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Дополнительные
325 административные средства (конфигурационные файлы)</h3>
Alexandr Fokin 2.1 326
Alexandr Fokin 3.1 327 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
328 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
329 </span></span>Управление версиями при помощи политики издателя</h4>
Alexandr Fokin 2.1 330
Alexandr Fokin 3.1 331 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
332 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
333 </span></span>Часть II. Проектирование типов</h1>
Alexandr Fokin 2.1 334
Alexandr Fokin 3.1 335 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
336 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
337 4. Основы типов</h2>
Alexandr Fokin 2.1 338
Alexandr Fokin 3.1 339 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
340 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Все
341 типы — производные от System.Object</h3>
Alexandr Fokin 2.1 342
Alexandr Fokin 3.1 343 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
344 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приведение
345 типов</h3>
Alexandr Fokin 2.1 346
Alexandr Fokin 3.1 347 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
348 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
349 </span></span>Приведение типов в C# с помощью операторов is и as</h4>
Alexandr Fokin 2.1 350
Alexandr Fokin 3.1 351 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
352 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Пространства
353 имен и сборки</h3>
Alexandr Fokin 2.1 354
Alexandr Fokin 3.1 355 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
356 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
357 </span></span>Связь между сборками и пространством имен</h4>
Alexandr Fokin 2.1 358
Alexandr Fokin 3.1 359 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
360 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
361 разные компоненты взаимодействуют во время выполнения</h3>
Alexandr Fokin 2.1 362
Alexandr Fokin 3.1 363 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
364 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
365 5. Примитивные, ссылочные и значимые типы</h2>
Alexandr Fokin 2.1 366
Alexandr Fokin 3.1 367 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
368 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивные
369 типы в языках программирования</h3>
Alexandr Fokin 2.1 370
Alexandr Fokin 3.1 371 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
372 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
373 </span></span>Проверяемые и непроверяемые операции для примитивных типов</h4>
Alexandr Fokin 2.1 374
Alexandr Fokin 3.1 375 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
376 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Ссылочные
377 и значимые типы</h3>
Alexandr Fokin 2.1 378
Alexandr Fokin 3.1 379 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
380 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
381 </span></span>Как CLR управляет размещением полей для типа </h4>
Alexandr Fokin 2.1 382
Alexandr Fokin 3.1 383 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
384 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Упаковка
385 и распаковка значимых типов</h3>
Alexandr Fokin 2.1 386
Alexandr Fokin 3.1 387 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
388 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
389 </span></span>Изменение полей в упакованных значимых типах посредством интерфейсов
390 (и почему этого лучше не делать)</h4>
Alexandr Fokin 2.1 391
Alexandr Fokin 3.1 392 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
393 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
394 </span></span>Равенство и тождество объектов</h4>
Alexandr Fokin 2.1 395
Alexandr Fokin 3.1 396 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
397 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Хеш-коды
398 объектов</h3>
Alexandr Fokin 2.1 399
Alexandr Fokin 3.1 400 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
401 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивный
402 тип данных dynamic</h3>
Alexandr Fokin 2.1 403
Alexandr Fokin 3.1 404 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
405 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
406 6. Основные сведения о членах и типах</h2>
Alexandr Fokin 2.1 407
Alexandr Fokin 3.1 408 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
409 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Члены
410 типа</h3>
Alexandr Fokin 2.1 411
Alexandr Fokin 3.1 412 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
413 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Видимость
414 типа</h3>
Alexandr Fokin 2.1 415
Alexandr Fokin 3.1 416 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
417 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
418 </span></span>Дружественные сборки</h4>
Alexandr Fokin 2.1 419
Alexandr Fokin 3.1 420 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
421 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Доступ
422 к членам типов</h3>
Alexandr Fokin 2.1 423
Alexandr Fokin 3.1 424 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
425 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Статические
426 классы</h3>
Alexandr Fokin 2.1 427
Alexandr Fokin 3.1 428 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
429 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Частичные
430 классы, структуры и интерфейсы</h3>
Alexandr Fokin 2.1 431
Alexandr Fokin 3.1 432 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
433 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компоненты,
434 полиморфизм и версии</h3>
Alexandr Fokin 2.1 435
Alexandr Fokin 3.1 436 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
437 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
438 </span></span>Вызов виртуальных методов, свойств и событий в CLR</h4>
Alexandr Fokin 2.1 439
Alexandr Fokin 3.1 440 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
441 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
442 </span></span>Разумное использование видимости типов и модификаторов доступа к членам</h4>
Alexandr Fokin 2.1 443
Alexandr Fokin 3.1 444 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
445 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
446 </span></span>Работа с виртуальными методами при управлении версиями типов</h4>
Alexandr Fokin 2.1 447
Alexandr Fokin 3.1 448 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
449 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
450 7. Константы и поля</h2>
Alexandr Fokin 2.1 451
Alexandr Fokin 3.1 452 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
453 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Константы</h3>
Alexandr Fokin 2.1 454
Alexandr Fokin 3.1 455 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
456 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поля</h3>
Alexandr Fokin 2.1 457
Alexandr Fokin 3.1 458 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
459 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
460 8. Методы</h2>
Alexandr Fokin 2.1 461
Alexandr Fokin 3.1 462 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
463 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
464 экземпляров и классы (ссылочные типы)</h3>
Alexandr Fokin 2.1 465
Alexandr Fokin 3.1 466 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
467 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
468 экземпляров и структуры (значимые типы)</h3>
Alexandr Fokin 2.1 469
Alexandr Fokin 3.1 470 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
471 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
472 типов</h3>
Alexandr Fokin 2.1 473
Alexandr Fokin 3.1 474 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
475 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
476 перегруженных операторов</h3>
Alexandr Fokin 2.1 477
Alexandr Fokin 3.1 478 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
479 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
480 </span></span>Операторы и взаимодействие языков программирования</h4>
Alexandr Fokin 2.1 481
Alexandr Fokin 3.1 482 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
483 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
484 </span></span>Особое мнение автора о правилах Microsoft, связанных с именами методов
485 операторов</h4>
Alexandr Fokin 2.1 486
Alexandr Fokin 3.1 487 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
488 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
489 операторов преобразования</h3>
Alexandr Fokin 2.1 490
Alexandr Fokin 3.1 491 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
492 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
493 расширения</h3>
Alexandr Fokin 2.1 494
Alexandr Fokin 3.1 495 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
496 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
497 </span></span>Правила и рекомендации</h4>
Alexandr Fokin 2.1 498
Alexandr Fokin 3.1 499 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
500 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
501 </span></span>Расширение разных типов методами расширения</h4>
Alexandr Fokin 2.1 502
Alexandr Fokin 3.1 503 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
504 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
505 </span></span>Атрибут расширения</h4>
Alexandr Fokin 2.1 506
Alexandr Fokin 3.1 507 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
508 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Частичные
509 методы</h3>
Alexandr Fokin 2.1 510
Alexandr Fokin 3.1 511 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
512 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
513 </span></span>Правила и рекомендации</h4>
Alexandr Fokin 2.1 514
Alexandr Fokin 3.1 515 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
516 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
517 9. Параметры</h2>
Alexandr Fokin 2.1 518
Alexandr Fokin 3.1 519 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
520 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Необязательные
521 и именованные параметры</h3>
Alexandr Fokin 2.1 522
Alexandr Fokin 3.1 523 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
524 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
525 </span></span>Правила использования параметров.</h4>
Alexandr Fokin 2.1 526
Alexandr Fokin 3.1 527 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
528 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
529 </span></span>Атрибут DefaultParameterValue и необязательные атрибуты</h4>
Alexandr Fokin 2.1 530
Alexandr Fokin 3.1 531 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
532 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Неявно
533 типизированные локальные переменные</h3>
Alexandr Fokin 2.1 534
Alexandr Fokin 3.1 535 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
536 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
537 параметров в метод по ссылке</h3>
Alexandr Fokin 2.1 538
Alexandr Fokin 3.1 539 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
540 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
541 переменного количества аргументов</h3>
Alexandr Fokin 2.1 542
Alexandr Fokin 3.1 543 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
544 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Типы
545 параметров и возвращаемых значений</h3>
Alexandr Fokin 2.1 546
Alexandr Fokin 3.1 547 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
548 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Константность</h3>
Alexandr Fokin 2.1 549
Alexandr Fokin 3.1 550 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
551 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
552 10. Свойства</h2>
Alexandr Fokin 2.1 553
Alexandr Fokin 3.1 554 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
555 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Свойства
556 без параметров</h3>
Alexandr Fokin 2.1 557
Alexandr Fokin 3.1 558 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
559 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
560 </span></span>Автоматически реализуемые свойства</h4>
Alexandr Fokin 2.1 561
Alexandr Fokin 3.1 562 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
563 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
564 </span></span>Осторожный подход к определению свойств</h4>
Alexandr Fokin 2.1 565
Alexandr Fokin 3.1 566 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
567 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
568 </span></span>Свойства и отладчик Visual Studio</h4>
Alexandr Fokin 2.1 569
Alexandr Fokin 3.1 570 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
571 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
572 </span></span>Инициализаторы объектов и коллекций</h4>
Alexandr Fokin 2.1 573
Alexandr Fokin 3.1 574 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
575 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
576 </span></span>Анонимные типы</h4>
Alexandr Fokin 2.1 577
Alexandr Fokin 3.1 578 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
579 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
580 </span></span>Тип System.Tuple</h4>
Alexandr Fokin 2.1 581
Alexandr Fokin 3.1 582 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
583 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Свойства
584 с параметрами</h3>
Alexandr Fokin 2.1 585
Alexandr Fokin 3.1 586 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
587 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
588 </span></span>Выбор главного свойства с параметрами</h4>
Alexandr Fokin 2.1 589
Alexandr Fokin 3.1 590 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
591 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Производительность
592 при вызове методов доступа</h3>
Alexandr Fokin 2.1 593
Alexandr Fokin 3.1 594 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
595 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Доступность
596 методов доступа свойств</h3>
Alexandr Fokin 2.1 597
Alexandr Fokin 3.1 598 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
599 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
600 методы доступа свойств</h3>
Alexandr Fokin 2.1 601
Alexandr Fokin 3.1 602 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
603 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
604 11. События</h2>
Alexandr Fokin 2.1 605
Alexandr Fokin 3.1 606 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
607 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Разработка
608 типа, поддерживающего событие</h3>
Alexandr Fokin 2.1 609
Alexandr Fokin 3.1 610 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
611 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
612 1. Определение типа для хранения всей дополнительной информации, передаваемой получателям
613 уведомления о событии</h3>
Alexandr Fokin 2.1 614
Alexandr Fokin 3.1 615 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
616 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
617 2. Определение члена-события</h3>
Alexandr Fokin 2.1 618
Alexandr Fokin 3.1 619 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
620 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
621 3. Определение метода, ответственного за уведомление зарегистрированных объектов
622 о событии</h3>
Alexandr Fokin 2.1 623
Alexandr Fokin 3.1 624 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
625 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
626 4. Определение метода, преобразующего входную информацию в желаемое событие</h3>
Alexandr Fokin 2.1 627
Alexandr Fokin 3.1 628 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
629 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Реализация
630 событий компилятором</h3>
Alexandr Fokin 2.1 631
Alexandr Fokin 3.1 632 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
633 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
634 типа, отслеживающего событие</h3>
Alexandr Fokin 2.1 635
Alexandr Fokin 3.1 636 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
637 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Явное
638 управление регистрацией событий</h3>
Alexandr Fokin 2.1 639
Alexandr Fokin 3.1 640 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
641 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
642 12. Обобщения</h2>
Alexandr Fokin 2.1 643
Alexandr Fokin 3.1 644 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
645 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
646 в библиотеке FCL</h3>
Alexandr Fokin 2.1 647
Alexandr Fokin 3.1 648 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
649 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Инфраструктура
650 обобщений</h3>
Alexandr Fokin 2.1 651
Alexandr Fokin 3.1 652 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
653 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
654 </span></span>Открытые и закрытые типы</h4>
Alexandr Fokin 2.1 655
Alexandr Fokin 3.1 656 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
657 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
658 </span></span>Обобщенные типы и наследование</h4>
Alexandr Fokin 2.1 659
Alexandr Fokin 3.1 660 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
661 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
662 </span></span>Идентификация обобщенных типов</h4>
Alexandr Fokin 2.1 663
Alexandr Fokin 3.1 664 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
665 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
666 </span></span>Разрастание кода</h4>
Alexandr Fokin 2.1 667
Alexandr Fokin 3.1 668 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
669 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
670 интерфейсы</h3>
Alexandr Fokin 2.1 671
Alexandr Fokin 3.1 672 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
673 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
674 делегаты</h3>
Alexandr Fokin 2.1 675
Alexandr Fokin 3.1 676 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
677 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
678 </span></span>Контравариантные и ковариантные аргументы-типы в делегатах и интерфейсах</h4>
Alexandr Fokin 2.1 679
Alexandr Fokin 3.1 680 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
681 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
682 методы</h3>
Alexandr Fokin 2.1 683
Alexandr Fokin 3.1 684 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
685 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
686 </span></span>Обобщенные методы и выведение типов</h4>
Alexandr Fokin 2.1 687
Alexandr Fokin 3.1 688 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
689 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
690 и другие члены</h3>
Alexandr Fokin 2.1 691
Alexandr Fokin 3.1 692 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
693 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Верификация
694 и ограничения</h3>
Alexandr Fokin 2.1 695
Alexandr Fokin 3.1 696 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
697 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
698 </span></span>Основные ограничения</h4>
Alexandr Fokin 2.1 699
Alexandr Fokin 3.1 700 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
701 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
702 </span></span>Дополнительные ограничения</h4>
Alexandr Fokin 2.1 703
Alexandr Fokin 3.1 704 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
705 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
706 </span></span>Ограничения конструктора</h4>
Alexandr Fokin 2.1 707
Alexandr Fokin 3.1 708 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
709 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
710 </span></span>Другие проблемы верификации</h4>
Alexandr Fokin 2.1 711
Alexandr Fokin 3.1 712 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
713 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
714 13<span lang=EN-US>.</span><span lang=EN-US> </span>Интерфейсы</h2>
Alexandr Fokin 2.1 715
Alexandr Fokin 3.1 716 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
717 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Наследование
718 в классах и интерфейсах</h3>
Alexandr Fokin 2.1 719
Alexandr Fokin 3.1 720 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
721 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
722 интерфейсов</h3>
Alexandr Fokin 2.1 723
Alexandr Fokin 3.1 724 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
725 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Наследование
726 интерфейсов</h3>
Alexandr Fokin 2.1 727
Alexandr Fokin 3.1 728 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
729 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Подробнее
730 о вызовах интерфейсных методов</h3>
Alexandr Fokin 2.1 731
Alexandr Fokin 3.1 732 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
733 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Явные
734 и неявные реализации интерфейсных методов (что происходит за кулисами)</h3>
Alexandr Fokin 2.1 735
Alexandr Fokin 3.1 736 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
737 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
738 интерфейсы</h3>
Alexandr Fokin 2.1 739
Alexandr Fokin 3.1 740 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
741 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
742 и ограничения интерфейса</h3>
Alexandr Fokin 2.1 743
Alexandr Fokin 3.1 744 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
745 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Реализация
746 нескольких интерфейсов с одинаковыми сигнатурами и именами методов</h3>
Alexandr Fokin 2.1 747
Alexandr Fokin 3.1 748 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
749 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Совершенствование
750 безопасности типов за счет явной реализации интерфейсных методов</h3>
Alexandr Fokin 2.1 751
Alexandr Fokin 3.1 752 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
753 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Опасности
754 явной реализации интерфейсных методов</h3>
Alexandr Fokin 2.1 755
Alexandr Fokin 3.1 756 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
757 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Дилемма
758 разработчика: базовый класс или интерфейс?</h3>
Alexandr Fokin 2.1 759
Alexandr Fokin 3.1 760 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
761 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
762 </span></span>Часть III. Основные типы данных</h1>
Alexandr Fokin 2.1 763
Alexandr Fokin 3.1 764 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
765 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
766 14. Символы, строки и обработка текста</h2>
Alexandr Fokin 2.1 767
Alexandr Fokin 3.1 768 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
769 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Символы</h3>
Alexandr Fokin 2.1 770
Alexandr Fokin 3.1 771 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
772 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Тип
773 System.String</h3>
Alexandr Fokin 2.1 774
Alexandr Fokin 3.1 775 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
776 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
777 </span></span>Создание строк</h4>
Alexandr Fokin 2.1 778
Alexandr Fokin 3.1 779 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
780 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
781 </span></span>Неизменяемые строки</h4>
Alexandr Fokin 2.1 782
Alexandr Fokin 3.1 783 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
784 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
785 </span></span>Сравнение строк</h4>
Alexandr Fokin 2.1 786
Alexandr Fokin 3.1 787 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
788 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
789 </span></span>Интернирование строк</h4>
Alexandr Fokin 2.1 790
Alexandr Fokin 3.1 791 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
792 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
793 </span></span>Создание пулов строк</h4>
Alexandr Fokin 2.1 794
Alexandr Fokin 3.1 795 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
796 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
797 </span></span>Работа с символами и текстовыми элементами в строке</h4>
Alexandr Fokin 2.1 798
Alexandr Fokin 3.1 799 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
800 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
801 </span></span>Прочие операции со строками</h4>
Alexandr Fokin 2.1 802
Alexandr Fokin 3.1 803 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
804 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Эффективное
805 создание строк</h3>
Alexandr Fokin 2.1 806
Alexandr Fokin 3.1 807 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
808 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
809 </span></span>Создание объекта StringBuilder</h4>
Alexandr Fokin 2.1 810
Alexandr Fokin 3.1 811 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
812 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
813 </span></span>Члены типа StringBuilder</h4>
Alexandr Fokin 2.1 814
Alexandr Fokin 3.1 815 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
816 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Получение
817 строкового представления объекта</h3>
Alexandr Fokin 2.1 818
Alexandr Fokin 3.1 819 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
820 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
821 </span></span>Форматы и региональные стандарты</h4>
Alexandr Fokin 2.1 822
Alexandr Fokin 3.1 823 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
824 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
825 </span></span>Форматирование нескольких объектов в одну строку</h4>
Alexandr Fokin 2.1 826
Alexandr Fokin 3.1 827 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
828 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
829 </span></span>Создание собственного средства форматирования</h4>
Alexandr Fokin 2.1 830
Alexandr Fokin 3.1 831 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
832 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Получение
833 объекта посредством разбора строки</h3>
Alexandr Fokin 2.1 834
Alexandr Fokin 3.1 835 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
836 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Кодировки:
837 преобразования между символами и байтами</h3>
Alexandr Fokin 2.1 838
Alexandr Fokin 3.1 839 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
840 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
841 </span></span>Кодирование и декодирование потоков символов и байтов</h4>
Alexandr Fokin 2.1 842
Alexandr Fokin 3.1 843 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
844 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
845 </span></span>Кодирование и декодирование строк в кодировке Base-64</h4>
Alexandr Fokin 2.1 846
Alexandr Fokin 3.1 847 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
848 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Защищенные
849 строки</h3>
Alexandr Fokin 2.1 850
Alexandr Fokin 3.1 851 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
852 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
853 15. Перечислимые типы и битовые флаги</h2>
Alexandr Fokin 2.1 854
Alexandr Fokin 3.1 855 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
856 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Перечислимые
857 типы</h3>
Alexandr Fokin 2.1 858
Alexandr Fokin 3.1 859 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
860 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Битовые
861 флаги</h3>
Alexandr Fokin 2.1 862
Alexandr Fokin 3.1 863 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
864 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Добавление
865 методов к перечислимым типам</h3>
Alexandr Fokin 2.1 866
Alexandr Fokin 3.1 867 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
868 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
869 16. Массивы</h2>
Alexandr Fokin 2.1 870
Alexandr Fokin 3.1 871 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
872 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Инициализация
873 элементов массива</h3>
Alexandr Fokin 2.1 874
Alexandr Fokin 3.1 875 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
876 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приведение
877 типов в массивах</h3>
Alexandr Fokin 2.1 878
Alexandr Fokin 3.1 879 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
880 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Базовый
881 класс System Array</h3>
Alexandr Fokin 2.1 882
Alexandr Fokin 3.1 883 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
884 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
885 </span></span>Реализация интерфейсов <span lang=EN-US>IEnumerable, ICollection </span>и
886 <span lang=EN-US>IList</span></h3>
Alexandr Fokin 2.1 887
Alexandr Fokin 3.1 888 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
889 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
890 и возврат массивов</h3>
Alexandr Fokin 2.1 891
Alexandr Fokin 3.1 892 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
893 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Массивы
894 с ненулевой нижней границей</h3>
Alexandr Fokin 2.1 895
Alexandr Fokin 3.1 896 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
897 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Внутренняя
898 реализация массивов</h3>
Alexandr Fokin 2.1 899
Alexandr Fokin 3.1 900 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
901 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Небезопасный
902 доступ к массивам и массивы фиксированного размера</h3>
Alexandr Fokin 2.1 903
Alexandr Fokin 3.1 904 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
905 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
906 17. Делегаты</h2>
Alexandr Fokin 2.1 907
Alexandr Fokin 3.1 908 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
909 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Знакомство
910 с делегатами</h3>
Alexandr Fokin 2.1 911
Alexandr Fokin 3.1 912 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
913 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
914 вызов статических методов</h3>
Alexandr Fokin 2.1 915
Alexandr Fokin 3.1 916 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
917 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
918 вызов экземплярных методов</h3>
Alexandr Fokin 2.1 919
Alexandr Fokin 3.1 920 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
921 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Тонкости
922 использования делегатов</h3>
Alexandr Fokin 2.1 923
Alexandr Fokin 3.1 924 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
925 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
926 вызов нескольких методов (цепочки делегатов)</h3>
Alexandr Fokin 2.1 927
Alexandr Fokin 3.1 928 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
929 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
930 </span></span>Поддержка цепочек делегатов в C#</h4>
Alexandr Fokin 2.1 931
Alexandr Fokin 3.1 932 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
933 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
934 </span></span>Дополнительные средства управления цепочками делегатов</h4>
Alexandr Fokin 2.1 935
Alexandr Fokin 3.1 936 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
937 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
938 делегаты</h3>
Alexandr Fokin 2.1 939
Alexandr Fokin 3.1 940 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
941 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Упрощенный
942 синтаксис работы с делегатами</h3>
Alexandr Fokin 2.1 943
Alexandr Fokin 3.1 944 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
945 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
946 </span></span>Упрощение 1: не создаем объект делегата</h4>
Alexandr Fokin 2.1 947
Alexandr Fokin 3.1 948 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
949 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
950 </span></span>Упрощение 2: не определяем метод обратного вызова</h4>
Alexandr Fokin 2.1 951
Alexandr Fokin 3.1 952 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
953 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
954 </span></span>Упрощение 3: не создаем обертку для локальных переменных для передачи
955 их методу обратного вызова</h4>
Alexandr Fokin 2.1 956
Alexandr Fokin 3.1 957 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
958 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Делегаты
959 и отражение</h3>
Alexandr Fokin 2.1 960
Alexandr Fokin 3.1 961 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
962 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
963 18. Настраиваемые атрибуты</h2>
Alexandr Fokin 2.1 964
Alexandr Fokin 3.1 965 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
966 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сфера
967 применения настраиваемых атрибутов</h3>
Alexandr Fokin 2.1 968
Alexandr Fokin 3.1 969 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
970 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
971 класса атрибутов</h3>
Alexandr Fokin 2.1 972
Alexandr Fokin 3.1 973 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
974 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструктор
975 атрибута и типы данных полей и свойств</h3>
Alexandr Fokin 2.1 976
Alexandr Fokin 3.1 977 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
978 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выявление
979 настраиваемых атрибутов</h3>
Alexandr Fokin 2.1 980
Alexandr Fokin 3.1 981 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
982 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сравнение
983 экземпляров атрибута</h3>
Alexandr Fokin 2.1 984
Alexandr Fokin 3.1 985 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
986 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выявление
987 настраиваемых атрибутов без создания объектов, производных от Attribute</h3>
Alexandr Fokin 2.1 988
Alexandr Fokin 3.1 989 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
990 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Условные
991 атрибуты</h3>
Alexandr Fokin 2.1 992
Alexandr Fokin 3.1 993 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
994 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
995 19. Null-совместимые значимые типы</h2>
Alexandr Fokin 2.1 996
Alexandr Fokin 3.1 997 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
998 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поддержка
999 в C# null-совместимых значимых типов</h3>
Alexandr Fokin 2.1 1000
Alexandr Fokin 3.1 1001 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1002 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Оператор
1003 объединения null-совместимых значений</h3>
Alexandr Fokin 2.1 1004
Alexandr Fokin 3.1 1005 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1006 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поддержка
1007 в CLR null-совместимых значимых типов</h3>
Alexandr Fokin 2.1 1008
Alexandr Fokin 3.1 1009 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1010 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1011 </span></span>Упаковка null-совместимых значимых типов</h4>
Alexandr Fokin 2.1 1012
Alexandr Fokin 3.1 1013 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1014 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1015 </span></span>Распаковка null-совместимых значимых типов</h4>
Alexandr Fokin 2.1 1016
Alexandr Fokin 3.1 1017 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1018 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1019 </span></span>Вызов метода GetType через null-совместимый значимый тип</h4>
Alexandr Fokin 2.1 1020
Alexandr Fokin 3.1 1021 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1022 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1023 </span></span>Вызов интерфейсных методов через null-совместимый  значимый тип</h4>
Alexandr Fokin 2.1 1024
Alexandr Fokin 3.1 1025 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
1026 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1027 </span></span>Часть IV. Ключевые механизмы</h1>
Alexandr Fokin 2.1 1028
Alexandr Fokin 3.1 1029 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1030 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1031 20. Исключения и управление состоянием 496</h2>
Alexandr Fokin 2.1 1032
Alexandr Fokin 3.1 1033 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1034 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
1035 «исключения»</h3>
Alexandr Fokin 2.1 1036
Alexandr Fokin 3.1 1037 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1038 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Механика
1039 обработки исключений</h3>
Alexandr Fokin 2.1 1040
Alexandr Fokin 3.1 1041 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1042 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1043 </span></span>Блок try</h4>
Alexandr Fokin 2.1 1044
Alexandr Fokin 3.1 1045 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1046 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1047 </span></span>Блок catch</h4>
Alexandr Fokin 2.1 1048
Alexandr Fokin 3.1 1049 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1050 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1051 </span></span>Блок finally</h4>
Alexandr Fokin 2.1 1052
Alexandr Fokin 3.1 1053 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1054 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1055 </span></span>CLS-совместимые и CLS-несовместимые исключения</h4>
Alexandr Fokin 2.1 1056
Alexandr Fokin 3.1 1057 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1058 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Класс
1059 System<span lang=EN-US>.</span>Exception</h3>
Alexandr Fokin 2.1 1060
Alexandr Fokin 3.1 1061 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1062 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Классы
1063 исключений, определенные в FCL</h3>
Alexandr Fokin 2.1 1064
Alexandr Fokin 3.1 1065 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1066 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Генерирование
1067 исключений</h3>
Alexandr Fokin 2.1 1068
Alexandr Fokin 3.1 1069 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1070 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
1071 классов исключений</h3>
Alexandr Fokin 2.1 1072
Alexandr Fokin 3.1 1073 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1074 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Продуктивность
1075 вместо надежности</h3>
Alexandr Fokin 2.1 1076
Alexandr Fokin 3.1 1077 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1078 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приемы
1079 работы с исключениями</h3>
Alexandr Fokin 2.1 1080
Alexandr Fokin 3.1 1081 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1082 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1083 </span></span>Активно используйте блоки finally</h4>
Alexandr Fokin 2.1 1084
Alexandr Fokin 3.1 1085 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1086 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1087 </span></span>Не надо перехватывать все исключения</h4>
Alexandr Fokin 2.1 1088
Alexandr Fokin 3.1 1089 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1090 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1091 </span></span>Корректное восстановление после исключения</h4>
Alexandr Fokin 2.1 1092
Alexandr Fokin 3.1 1093 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1094 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отмена
1095 незавершенных операций при невосстановимых исключениях</h3>
Alexandr Fokin 2.1 1096
Alexandr Fokin 3.1 1097 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1098 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сокрытие
1099 деталей реализации для сохранения контракта</h3>
Alexandr Fokin 2.1 1100
Alexandr Fokin 3.1 1101 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1102 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Необработанные
1103 исключения</h3>
Alexandr Fokin 2.1 1104
Alexandr Fokin 3.1 1105 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1106 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отладка
1107 исключений</h3>
Alexandr Fokin 2.1 1108
Alexandr Fokin 3.1 1109 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1110 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Скорость
1111 обработки исключений</h3>
Alexandr Fokin 2.1 1112
Alexandr Fokin 3.1 1113 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1114 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Области
1115 ограниченного выполнения</h3>
Alexandr Fokin 2.1 1116
Alexandr Fokin 3.1 1117 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1118 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контракты
1119 кода</h3>
Alexandr Fokin 2.1 1120
Alexandr Fokin 3.1 1121 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1122 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1123 21. Автоматическое управление памятью (уборка мусора)</h2>
Alexandr Fokin 2.1 1124
Alexandr Fokin 3.1 1125 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1126 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управляемая
1127 куча</h3>
Alexandr Fokin 2.1 1128
Alexandr Fokin 3.1 1129 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1130 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1131 </span></span>Выделение ресурсов из управляемой кучи</h4>
Alexandr Fokin 2.1 1132
Alexandr Fokin 3.1 1133 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1134 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1135 </span></span>Алгоритм уборки мусора</h4>
Alexandr Fokin 2.1 1136
Alexandr Fokin 3.1 1137 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1138 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1139 </span></span>Уборка мусора и отладка</h4>
Alexandr Fokin 2.1 1140
Alexandr Fokin 3.1 1141 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1142 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поколения</h3>
Alexandr Fokin 2.1 1143
Alexandr Fokin 3.1 1144 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1145 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1146 </span></span>Запуск уборки мусора</h4>
Alexandr Fokin 2.1 1147
Alexandr Fokin 3.1 1148 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1149 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1150 </span></span>Большие объекты</h4>
Alexandr Fokin 2.1 1151
Alexandr Fokin 3.1 1152 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1153 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1154 </span></span>Режимы уборки мусора</h4>
Alexandr Fokin 2.1 1155
Alexandr Fokin 3.1 1156 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1157 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1158 </span></span>Программное управление уборщиком мусора</h4>
Alexandr Fokin 2.1 1159
Alexandr Fokin 3.1 1160 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1161 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1162 </span></span>Мониторинг использования памяти приложением</h4>
Alexandr Fokin 2.1 1163
Alexandr Fokin 3.1 1164 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1165 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Освобождение
1166 ресурсов при помощи механизма финализации</h3>
Alexandr Fokin 2.1 1167
Alexandr Fokin 3.1 1168 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1169 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1170 </span></span>Типы, использующие системные ресурсы</h4>
Alexandr Fokin 2.1 1171
Alexandr Fokin 3.1 1172 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1173 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1174 </span></span>Интересные аспекты зависимостей</h4>
Alexandr Fokin 2.1 1175
Alexandr Fokin 3.1 1176 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1177 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1178 </span></span>Другие возможности уборщика мусора для работы с системными ресурсами</h4>
Alexandr Fokin 2.1 1179
Alexandr Fokin 3.1 1180 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1181 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1182 </span></span>Внутренняя реализация финализации</h4>
Alexandr Fokin 2.1 1183
Alexandr Fokin 3.1 1184 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1185 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Мониторинг
1186 и контроль времени жизни объектов</h3>
Alexandr Fokin 2.1 1187
Alexandr Fokin 3.1 1188 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1189 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1190 22. Хостинг CLR и домены приложений</h2>
Alexandr Fokin 2.1 1191
Alexandr Fokin 3.1 1192 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1193 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Хостинг
1194 CLR</h3>
Alexandr Fokin 2.1 1195
Alexandr Fokin 3.1 1196 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1197 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Домены
1198 приложений</h3>
Alexandr Fokin 2.1 1199
Alexandr Fokin 3.1 1200 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1201 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1202 </span></span>Доступ к объектам из других доменов</h4>
Alexandr Fokin 2.1 1203
Alexandr Fokin 3.1 1204 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1205 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выгрузка
1206 доменов</h3>
Alexandr Fokin 2.1 1207
Alexandr Fokin 3.1 1208 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1209 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Мониторинг
1210 доменов</h3>
Alexandr Fokin 2.1 1211
Alexandr Fokin 3.1 1212 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1213 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Уведомление
1214 о первом управляемом исключении домена</h3>
Alexandr Fokin 2.1 1215
Alexandr Fokin 3.1 1216 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1217 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Использование
1218 хостами доменов приложений</h3>
Alexandr Fokin 2.1 1219
Alexandr Fokin 3.1 1220 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1221 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1222 </span></span>Исполняемые приложения</h4>
Alexandr Fokin 2.1 1223
Alexandr Fokin 3.1 1224 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1225 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1226 </span></span>Полнофункциональные интернет-приложения Silverlight</h4>
Alexandr Fokin 2.1 1227
Alexandr Fokin 3.1 1228 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1229 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1230 </span></span>Microsoft ASPNET и веб-службы XML</h4>
Alexandr Fokin 2.1 1231
Alexandr Fokin 3.1 1232 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1233 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1234 </span></span>Microsoft SQL Server</h4>
Alexandr Fokin 2.1 1235
Alexandr Fokin 3.1 1236 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1237 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1238 </span></span>Будущее и мечты</h4>
Alexandr Fokin 2.1 1239
Alexandr Fokin 3.1 1240 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1241 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Нетривиальное
1242 управление хостингом</h3>
Alexandr Fokin 2.1 1243
Alexandr Fokin 3.1 1244 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1245 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1246 </span></span>Применение управляемого кода</h4>
Alexandr Fokin 2.1 1247
Alexandr Fokin 3.1 1248 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1249 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1250 </span></span>Разработка надежных хост-приложений</h4>
Alexandr Fokin 2.1 1251
Alexandr Fokin 3.1 1252 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1253 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1254 </span></span>Возвращение потока в хост</h4>
Alexandr Fokin 2.1 1255
Alexandr Fokin 3.1 1256 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1257 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1258 23. Загрузка сборок и отражение</h2>
Alexandr Fokin 2.1 1259
Alexandr Fokin 3.1 1260 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1261 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Загрузка
1262 сборок</h3>
Alexandr Fokin 2.1 1263
Alexandr Fokin 3.1 1264 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1265 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Использование
1266 отражения для создания динамически расширяемых приложений</h3>
Alexandr Fokin 2.1 1267
Alexandr Fokin 3.1 1268 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1269 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Производительность
1270 отражения</h3>
Alexandr Fokin 2.1 1271
Alexandr Fokin 3.1 1272 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1273 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1274 </span></span>Нахождение типов, определенных в сборке</h4>
Alexandr Fokin 2.1 1275
Alexandr Fokin 3.1 1276 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1277 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1278 </span></span>Объект Type</h4>
Alexandr Fokin 2.1 1279
Alexandr Fokin 3.1 1280 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1281 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1282 </span></span>Создание иерархии типов, производных от Exception</h4>
Alexandr Fokin 2.1 1283
Alexandr Fokin 3.1 1284 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1285 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1286 </span></span>Создание экземпляра типа</h4>
Alexandr Fokin 2.1 1287
Alexandr Fokin 3.1 1288 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1289 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
1290 приложений с поддержкой подключаемых компонентов</h3>
Alexandr Fokin 2.1 1291
Alexandr Fokin 3.1 1292 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1293 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1294 </span></span>Нахождение членов типа путем отражения</h4>
Alexandr Fokin 2.1 1295
Alexandr Fokin 3.1 1296 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1297 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1298 </span></span>Нахождение членов типа</h4>
Alexandr Fokin 2.1 1299
Alexandr Fokin 3.1 1300 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1301 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1302 </span></span>Обращение к членам типов</h4>
Alexandr Fokin 2.1 1303
Alexandr Fokin 3.1 1304 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1305 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1306 </span></span>Использование дескрипторов привязки для снижения потребления памяти
1307 процессом</h4>
Alexandr Fokin 2.1 1308
Alexandr Fokin 3.1 1309 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1310 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1311 24. Сериализация</h2>
Alexandr Fokin 2.1 1312
Alexandr Fokin 3.1 1313 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1314 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Практический
1315 пример сериализации/десериализации</h3>
Alexandr Fokin 2.1 1316
Alexandr Fokin 3.1 1317 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1318 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализуемые
1319 типы</h3>
Alexandr Fokin 2.1 1320
Alexandr Fokin 3.1 1321 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1322 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управление
1323 сериализацией и десериализацией</h3>
Alexandr Fokin 2.1 1324
Alexandr Fokin 3.1 1325 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1326 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализация
1327 экземпляров типа</h3>
Alexandr Fokin 2.1 1328
Alexandr Fokin 3.1 1329 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1330 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управление
1331 сериализованными и десериализованными данными</h3>
Alexandr Fokin 2.1 1332
Alexandr Fokin 3.1 1333 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1334 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1335 </span></span>Определение типа, реализующего интерфейс ISerializable, не реализуемый
1336 базовым классом</h4>
Alexandr Fokin 2.1 1337
Alexandr Fokin 3.1 1338 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1339 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контексты
1340 потока ввода-вывода</h3>
Alexandr Fokin 2.1 1341
Alexandr Fokin 3.1 1342 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1343 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализация
1344 в другой тип и десериализация в другой объект</h3>
Alexandr Fokin 2.1 1345
Alexandr Fokin 3.1 1346 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1347 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Суррогаты
1348 сериализации</h3>
Alexandr Fokin 2.1 1349
Alexandr Fokin 3.1 1350 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1351 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1352 </span></span>Цепочка селекторов суррогатов</h4>
Alexandr Fokin 2.1 1353
Alexandr Fokin 3.1 1354 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1355 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Переопределение
1356 сборки и/или типа при десериализации объекта</h3>
Alexandr Fokin 2.1 1357
Alexandr Fokin 3.1 1358 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1359 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1360 25. Взаимодействие с компонентами WinRT</h2>
Alexandr Fokin 2.1 1361
Alexandr Fokin 3.1 1362 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1363 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Проекции
1364 уровня CLR и правила системы типов компонентов WinRT</h3>
Alexandr Fokin 2.1 1365
Alexandr Fokin 3.1 1366 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1367 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1368 </span></span>Основные концепции системы типов WinRT</h4>
Alexandr Fokin 2.1 1369
Alexandr Fokin 3.1 1370 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1371 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Проекции
1372 уровня .NET Framework</h3>
Alexandr Fokin 2.1 1373
Alexandr Fokin 3.1 1374 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1375 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1376 </span></span>Асинхронные вызовы WinRT API из кода  NET</h4>
Alexandr Fokin 2.1 1377
Alexandr Fokin 3.1 1378 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1379 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1380 </span></span>Взаимодействия между потоками WinRT и потоками  NET</h4>
Alexandr Fokin 2.1 1381
Alexandr Fokin 3.1 1382 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1383 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1384 </span></span>Передача блоков данных между CLR и WinRT</h4>
Alexandr Fokin 2.1 1385
Alexandr Fokin 3.1 1386 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1387 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
1388 компонентов WinRT в коде C#</h3>
Alexandr Fokin 2.1 1389
Alexandr Fokin 3.1 1390 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
1391 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1392 </span></span>Часть V. Многопоточность</h1>
Alexandr Fokin 2.1 1393
Alexandr Fokin 3.1 1394 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1395 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1396 26. Потоки исполнения</h2>
Alexandr Fokin 2.1 1397
Alexandr Fokin 3.1 1398 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1399 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1400 </span></span>Для чего Windows поддерживает потоки?</h4>
Alexandr Fokin 2.1 1401
Alexandr Fokin 3.1 1402 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1403 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1404 </span></span>Ресурсоемкость потоков</h4>
Alexandr Fokin 2.1 1405
Alexandr Fokin 3.1 1406 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1407 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1408 </span></span>Так дальше не пойдет!</h4>
Alexandr Fokin 2.1 1409
Alexandr Fokin 3.1 1410 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1411 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1412 </span></span>Тенденции развития процессоров</h4>
Alexandr Fokin 2.1 1413
Alexandr Fokin 3.1 1414 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1415 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1416 </span></span>CLR- и Windows-потоки</h4>
Alexandr Fokin 2.1 1417
Alexandr Fokin 3.1 1418 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1419 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1420 </span></span>Потоки для асинхронных вычислительных операций</h4>
Alexandr Fokin 2.1 1421
Alexandr Fokin 3.1 1422 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1423 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1424 </span></span>Причины использования потоков</h4>
Alexandr Fokin 2.1 1425
Alexandr Fokin 3.1 1426 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1427 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1428 </span></span>Планирование и приоритеты потоков</h4>
Alexandr Fokin 2.1 1429
Alexandr Fokin 3.1 1430 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1431 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1432 </span></span>Фоновые и активные потоки</h4>
Alexandr Fokin 2.1 1433
Alexandr Fokin 3.1 1434 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1435 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1436 </span></span>Что дальше?</h4>
Alexandr Fokin 2.1 1437
Alexandr Fokin 3.1 1438 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1439 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1440 27. Асинхронные вычислительные операции</h2>
Alexandr Fokin 2.1 1441
Alexandr Fokin 3.1 1442 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1443 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Пул
1444 потоков в CLR</h3>
Alexandr Fokin 2.1 1445
Alexandr Fokin 3.1 1446 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1447 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простые
1448 вычислительные операции</h3>
Alexandr Fokin 2.1 1449
Alexandr Fokin 3.1 1450 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1451 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контексты
1452 исполнения</h3>
Alexandr Fokin 2.1 1453
Alexandr Fokin 3.1 1454 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1455 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Скоординированная
1456 отмена</h3>
Alexandr Fokin 2.1 1457
Alexandr Fokin 3.1 1458 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1459 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Задания</h3>
Alexandr Fokin 2.1 1460
Alexandr Fokin 3.1 1461 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1462 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1463 </span></span>Завершение задания и получение результата</h4>
Alexandr Fokin 2.1 1464
Alexandr Fokin 3.1 1465 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1466 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1467 </span></span>Отмена задания</h4>
Alexandr Fokin 2.1 1468
Alexandr Fokin 3.1 1469 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1470 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1471 </span></span>Автоматический запуск задания по завершении предыдущего </h4>
Alexandr Fokin 2.1 1472
Alexandr Fokin 3.1 1473 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1474 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1475 </span></span>Дочерние задания</h4>
Alexandr Fokin 2.1 1476
Alexandr Fokin 3.1 1477 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1478 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1479 </span></span>Структура задания</h4>
Alexandr Fokin 2.1 1480
Alexandr Fokin 3.1 1481 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1482 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1483 </span></span>Фабрики заданий</h4>
Alexandr Fokin 2.1 1484
Alexandr Fokin 3.1 1485 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1486 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1487 </span></span>Планировщики заданий</h4>
Alexandr Fokin 2.1 1488
Alexandr Fokin 3.1 1489 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
1490 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1491 </span></span>Методы <span lang=EN-US>For, ForEach </span>и <span lang=EN-US>Invoke
1492 </span>класса <span lang=EN-US>Parallel</span></h3>
Alexandr Fokin 2.1 1493
Alexandr Fokin 3.1 1494 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1495 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Встроенный
1496 язык параллельных запросов</h3>
Alexandr Fokin 2.1 1497
Alexandr Fokin 3.1 1498 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1499 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Периодические
1500 вычислительные операции </h3>
Alexandr Fokin 2.1 1501
Alexandr Fokin 3.1 1502 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1503 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1504 </span></span>Разновидности таймеров</h4>
Alexandr Fokin 2.1 1505
Alexandr Fokin 3.1 1506 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1507 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
1508 пул управляет потоками</h3>
Alexandr Fokin 2.1 1509
Alexandr Fokin 3.1 1510 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1511 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1512 </span></span>Ограничение количества потоков в пуле</h4>
Alexandr Fokin 2.1 1513
Alexandr Fokin 3.1 1514 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1515 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1516 </span></span>Управление рабочими потоками</h4>
Alexandr Fokin 2.1 1517
Alexandr Fokin 3.1 1518 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1519 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1520 28. Асинхронные операции ввода-вывода</h2>
Alexandr Fokin 2.1 1521
Alexandr Fokin 3.1 1522 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1523 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Операции
1524 ввода-вывода в Windows</h3>
Alexandr Fokin 2.1 1525
Alexandr Fokin 3.1 1526 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1527 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1528 функции C#</h3>
Alexandr Fokin 2.1 1529
Alexandr Fokin 3.1 1530 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1531 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Преобразование
1532 асинхронной функции в конечный автомат</h3>
Alexandr Fokin 2.1 1533
Alexandr Fokin 3.1 1534 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1535 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Расширяемость
1536 асинхронных функций</h3>
Alexandr Fokin 2.1 1537
Alexandr Fokin 3.1 1538 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1539 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1540 функции и обработчики событий</h3>
Alexandr Fokin 2.1 1541
Alexandr Fokin 3.1 1542 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1543 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1544 функции в FCL</h3>
Alexandr Fokin 2.1 1545
Alexandr Fokin 3.1 1546 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1547 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1548 функции и исключения</h3>
Alexandr Fokin 2.1 1549
Alexandr Fokin 3.1 1550 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1551 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Другие
1552 возможности асинхронных функций</h3>
Alexandr Fokin 2.1 1553
Alexandr Fokin 3.1 1554 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1555 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Потоковые
1556 модели приложений</h3>
Alexandr Fokin 2.1 1557
Alexandr Fokin 3.1 1558 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1559 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронная
1560 реализация сервера</h3>
Alexandr Fokin 2.1 1561
Alexandr Fokin 3.1 1562 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1563 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отмена
1564 операций ввода-вывода</h3>
Alexandr Fokin 2.1 1565
Alexandr Fokin 3.1 1566 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1567 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1568 </span></span>Некоторые операции ввода-вывода должны выполняться синхронно</h4>
Alexandr Fokin 2.1 1569
Alexandr Fokin 3.1 1570 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1571 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1572 </span></span>Проблемы FileStream</h4>
Alexandr Fokin 2.1 1573
Alexandr Fokin 3.1 1574 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1575 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приоритеты
1576 запросов ввода-вывода</h3>
Alexandr Fokin 2.1 1577
Alexandr Fokin 3.1 1578 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1579 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1580 29. Примитивные конструкции синхронизации потоков</h2>
Alexandr Fokin 2.1 1581
Alexandr Fokin 3.1 1582 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1583 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Библиотеки
1584 классов и безопасность потоков</h3>
Alexandr Fokin 2.1 1585
Alexandr Fokin 3.1 1586 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1587 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивные
1588 конструкции пользовательского режима </h3>
Alexandr Fokin 2.1 1589
Alexandr Fokin 3.1 1590 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1591 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>и режима
1592 ядра</h3>
Alexandr Fokin 2.1 1593
Alexandr Fokin 3.1 1594 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1595 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкции
1596 пользовательского режима</h3>
Alexandr Fokin 2.1 1597
Alexandr Fokin 3.1 1598 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1599 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1600 </span></span>Volatile-конструкции</h4>
Alexandr Fokin 2.1 1601
Alexandr Fokin 3.1 1602 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1603 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1604 </span></span>Interlocked-конструкции</h4>
Alexandr Fokin 2.1 1605
Alexandr Fokin 3.1 1606 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1607 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1608 </span></span>Реализация простой циклической блокировки</h4>
Alexandr Fokin 2.1 1609
Alexandr Fokin 3.1 1610 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1611 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1612 </span></span>Универсальный Interlocked-паттерн</h4>
Alexandr Fokin 2.1 1613
Alexandr Fokin 3.1 1614 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1615 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкции
1616 режима ядра</h3>
Alexandr Fokin 2.1 1617
Alexandr Fokin 3.1 1618 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1619 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1620 </span></span>События</h4>
Alexandr Fokin 2.1 1621
Alexandr Fokin 3.1 1622 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1623 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1624 </span></span>Семафоры</h4>
Alexandr Fokin 2.1 1625
Alexandr Fokin 3.1 1626 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1627 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1628 </span></span>Мьютексы</h4>
Alexandr Fokin 2.1 1629
Alexandr Fokin 3.1 1630 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1631 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1632 30. Гибридные конструкции синхронизации потоков</h2>
Alexandr Fokin 2.1 1633
Alexandr Fokin 3.1 1634 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1635 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простая
1636 гибридная блокировка</h3>
Alexandr Fokin 2.1 1637
Alexandr Fokin 3.1 1638 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1639 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Зацикливание,
1640 владение потоком и рекурсия</h3>
Alexandr Fokin 2.1 1641
Alexandr Fokin 3.1 1642 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1643 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Гибридные
1644 конструкции в FCL</h3>
Alexandr Fokin 2.1 1645
Alexandr Fokin 3.1 1646 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1647 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1648 </span></span>Классы ManualResetEventSlim и SemaphoreSlim</h4>
Alexandr Fokin 2.1 1649
Alexandr Fokin 3.1 1650 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1651 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1652 </span></span>Класс Monitor и блоки синхронизации</h4>
Alexandr Fokin 2.1 1653
Alexandr Fokin 3.1 1654 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1655 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1656 </span></span>Класс ReaderWriterLockSlim</h4>
Alexandr Fokin 2.1 1657
Alexandr Fokin 3.1 1658 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1659 style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1660 </span></span>Класс <span lang=EN-US>OneManyLock</span></h4>
Alexandr Fokin 2.1 1661
Alexandr Fokin 3.1 1662 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1663 style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1664 </span></span>Класс <span lang=EN-US>CountdownEvent</span></h4>
Alexandr Fokin 2.1 1665
Alexandr Fokin 3.1 1666 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1667 style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1668 </span></span>Класс <span lang=EN-US>Barrier</span></h4>
Alexandr Fokin 2.1 1669
Alexandr Fokin 3.1 1670 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1671 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1672 </span></span>Выводы по гибридным конструкциям</h4>
Alexandr Fokin 2.1 1673
Alexandr Fokin 3.1 1674 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1675 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Блокировка
1676 с двойной проверкой</h3>
Alexandr Fokin 2.1 1677
Alexandr Fokin 3.1 1678 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1679 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Паттерн
1680 условной переменной</h3>
Alexandr Fokin 2.1 1681
Alexandr Fokin 3.1 1682 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1683 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронная
1684 синхронизация</h3>
Alexandr Fokin 2.1 1685
Alexandr Fokin 3.1 1686 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1687 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Классы
1688 коллекций для параллельного доступа</h3>
Alexandr Fokin 2.1 1689
1690 </div>
1691
1692 </body>
1693
1694 </html>
1695
1696 {{/html}}
1697