Исходный код вики Оглавление

Редактировал(а) Alexandr Fokin 2022/12/12 12:01

Последние авторы
1 {{html clean="false"}}
2 <html>
3
4 <head>
5 <meta http-equiv=Content-Type content="text/html; charset=windows-1251">
6 <meta name=Generator content="Microsoft Word 15 (filtered)">
7 <style>
8 <!--
9 /* Font Definitions */
10 @font-face
11 {font-family:Wingdings;
12 panose-1:5 0 0 0 0 0 0 0 0 0;}
13 @font-face
14 {font-family:"Cambria Math";
15 panose-1:2 4 5 3 5 4 6 3 2 4;}
16 @font-face
17 {font-family:"Calibri Light";
18 panose-1:2 15 3 2 2 2 4 3 2 4;}
19 @font-face
20 {font-family:"Segoe UI";
21 panose-1:2 11 5 2 4 2 4 2 2 3;}
22 /* Style Definitions */
23 p.MsoNormal, li.MsoNormal, div.MsoNormal
24 {margin-top:0cm;
25 margin-right:0cm;
26 margin-bottom:8.0pt;
27 margin-left:0cm;
28 line-height:107%;
29 font-size:11.0pt;
30 font-family:"Calibri",sans-serif;}
31 h1
32 {mso-style-link:"Заголовок 1 Знак";
33 margin-top:12.0pt;
34 margin-right:0cm;
35 margin-bottom:0cm;
36 margin-left:0cm;
37 margin-bottom:.0001pt;
38 line-height:107%;
39 page-break-after:avoid;
40 font-size:16.0pt;
41 font-family:"Calibri Light",sans-serif;
42 color:#2E74B5;
43 font-weight:normal;}
44 h2
45 {mso-style-link:"Заголовок 2 Знак";
46 margin-top:2.0pt;
47 margin-right:0cm;
48 margin-bottom:0cm;
49 margin-left:0cm;
50 margin-bottom:.0001pt;
51 line-height:107%;
52 page-break-after:avoid;
53 font-size:13.0pt;
54 font-family:"Calibri Light",sans-serif;
55 color:#2E74B5;
56 font-weight:normal;}
57 h3
58 {mso-style-link:"Заголовок 3 Знак";
59 margin-top:2.0pt;
60 margin-right:0cm;
61 margin-bottom:0cm;
62 margin-left:0cm;
63 margin-bottom:.0001pt;
64 line-height:107%;
65 page-break-after:avoid;
66 font-size:12.0pt;
67 font-family:"Calibri Light",sans-serif;
68 color:#1F4D78;
69 font-weight:normal;}
70 h4
71 {mso-style-link:"Заголовок 4 Знак";
72 margin-top:2.0pt;
73 margin-right:0cm;
74 margin-bottom:0cm;
75 margin-left:0cm;
76 margin-bottom:.0001pt;
77 line-height:107%;
78 page-break-after:avoid;
79 font-size:11.0pt;
80 font-family:"Calibri Light",sans-serif;
81 color:#2E74B5;
82 font-weight:normal;
83 font-style:italic;}
84 p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
85 {mso-style-link:"Текст выноски Знак";
86 margin:0cm;
87 margin-bottom:.0001pt;
88 font-size:9.0pt;
89 font-family:"Segoe UI",sans-serif;}
90 p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
91 {margin-top:0cm;
92 margin-right:0cm;
93 margin-bottom:8.0pt;
94 margin-left:36.0pt;
95 line-height:107%;
96 font-size:11.0pt;
97 font-family:"Calibri",sans-serif;}
98 p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
99 {margin-top:0cm;
100 margin-right:0cm;
101 margin-bottom:0cm;
102 margin-left:36.0pt;
103 margin-bottom:.0001pt;
104 line-height:107%;
105 font-size:11.0pt;
106 font-family:"Calibri",sans-serif;}
107 p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
108 {margin-top:0cm;
109 margin-right:0cm;
110 margin-bottom:0cm;
111 margin-left:36.0pt;
112 margin-bottom:.0001pt;
113 line-height:107%;
114 font-size:11.0pt;
115 font-family:"Calibri",sans-serif;}
116 p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
117 {margin-top:0cm;
118 margin-right:0cm;
119 margin-bottom:8.0pt;
120 margin-left:36.0pt;
121 line-height:107%;
122 font-size:11.0pt;
123 font-family:"Calibri",sans-serif;}
124 span.1
125 {mso-style-name:"Заголовок 1 Знак";
126 mso-style-link:"Заголовок 1";
127 font-family:"Calibri Light",sans-serif;
128 color:#2E74B5;}
129 span.2
130 {mso-style-name:"Заголовок 2 Знак";
131 mso-style-link:"Заголовок 2";
132 font-family:"Calibri Light",sans-serif;
133 color:#2E74B5;}
134 span.3
135 {mso-style-name:"Заголовок 3 Знак";
136 mso-style-link:"Заголовок 3";
137 font-family:"Calibri Light",sans-serif;
138 color:#1F4D78;}
139 span.4
140 {mso-style-name:"Заголовок 4 Знак";
141 mso-style-link:"Заголовок 4";
142 font-family:"Calibri Light",sans-serif;
143 color:#2E74B5;
144 font-style:italic;}
145 span.a
146 {mso-style-name:"Текст выноски Знак";
147 mso-style-link:"Текст выноски";
148 font-family:"Segoe UI",sans-serif;}
149 .MsoPapDefault
150 {margin-bottom:8.0pt;
151 line-height:107%;}
152 @page WordSection1
153 {size:595.3pt 841.9pt;
154 margin:36.0pt 36.0pt 36.0pt 36.0pt;}
155 div.WordSection1
156 {page:WordSection1;}
157 /* List Definitions */
158 ol
159 {margin-bottom:0cm;}
160 ul
161 {margin-bottom:0cm;}
162 -->
163 </style>
164
165 </head>
166
167 <body lang=RU>
168
169 <div class=WordSection1>
170
171 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
172 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
173 </span></span>Часть I. Основы CLR</h1>
174
175 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
176 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
177 1. Модель выполнения кода в среде CLR</h2>
178
179 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
180 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компиляция
181 исходного кода в управляемые модули</h3>
182
183 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
184 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Объединение
185 управляемых модулей в сборку</h3>
186
187 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
188 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Загрузка
189 CLR</h3>
190
191 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
192 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Исполнение
193 кода сборки </h3>
194
195 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
196 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
197 </span></span>IL-код и верификация</h4>
198
199 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
200 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
201 </span></span>Небезопасный код</h4>
202
203 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
204 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
205 </span></span>IL и защита интеллектуальной собственности</h4>
206
207 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
208 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
209 </span></span><span lang=EN-US>NGen.exe</span></h3>
210
211 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
212 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
213 </span></span>Библиотека <span lang=EN-US>FCL </span></h3>
214
215 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
216 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
217 </span></span><span lang=EN-US>CTS</span></h3>
218
219 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
220 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>CLS</h3>
221
222 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
223 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Взаимодействие
224 с неуправляемым кодом</h3>
225
226 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
227 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
228 2. Компоновка, упаковка, развертывание и администрирование приложений и типов</h2>
229
230 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
231 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Задачи
232 развертывания в <span lang=EN-US>.</span>NET Framework</h3>
233
234 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
235 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компоновка
236 типов в модуль</h3>
237
238 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
239 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
240 </span></span>Файл параметров</h4>
241
242 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
243 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Несколько
244 слов о метаданных</h3>
245
246 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
247 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Объединение
248 модулей для создания сборки</h3>
249
250 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
251 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
252 </span></span>Добавление сборок в проект в среде Visual Studio</h4>
253
254 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
255 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
256 </span></span>Использование утилиты Assembly Linker</h4>
257
258 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
259 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
260 </span></span>Включение в сборку файлов ресурсов</h4>
261
262 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
263 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Ресурсы
264 со сведениями о версии сборки</h3>
265
266 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
267 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
268 </span></span>Номера версии</h4>
269
270 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
271 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Региональные
272 стандарты</h3>
273
274 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
275 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Развертывание
276 простых приложений (закрытое развертывание сборок)</h3>
277
278 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
279 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простое
280 средство администрирования (конфигурационный файл)</h3>
281
282 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
283 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
284 </span></span>Алгоритм поиска файлов сборки</h4>
285
286 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
287 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
288 3. Совместно используемые сборки и сборки со строгим именем</h2>
289
290 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
291 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Два
292 вида сборок — два вида развертывания</h3>
293
294 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
295 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Назначение
296 сборке строгого имени</h3>
297
298 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
299 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Глобальный
300 кэш сборок</h3>
301
302 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
303 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Построение
304 сборки, ссылающейся на сборку со строгим именем</h3>
305
306 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
307 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Устойчивость
308 сборок со строгими именами к несанкционированной модификации</h3>
309
310 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
311 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отложенное
312 подписание</h3>
313
314 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
315 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Закрытое
316 развертывание сборок со строгими именами</h3>
317
318 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
319 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
320 исполняющая среда разрешает ссылки на типы</h3>
321
322 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
323 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Дополнительные
324 административные средства (конфигурационные файлы)</h3>
325
326 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
327 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
328 </span></span>Управление версиями при помощи политики издателя</h4>
329
330 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
331 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
332 </span></span>Часть II. Проектирование типов</h1>
333
334 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
335 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
336 4. Основы типов</h2>
337
338 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
339 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Все
340 типы — производные от System.Object</h3>
341
342 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
343 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приведение
344 типов</h3>
345
346 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
347 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
348 </span></span>Приведение типов в C# с помощью операторов is и as</h4>
349
350 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
351 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Пространства
352 имен и сборки</h3>
353
354 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
355 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
356 </span></span>Связь между сборками и пространством имен</h4>
357
358 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
359 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
360 разные компоненты взаимодействуют во время выполнения</h3>
361
362 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
363 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
364 5. Примитивные, ссылочные и значимые типы</h2>
365
366 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
367 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивные
368 типы в языках программирования</h3>
369
370 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
371 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
372 </span></span>Проверяемые и непроверяемые операции для примитивных типов</h4>
373
374 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
375 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Ссылочные
376 и значимые типы</h3>
377
378 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
379 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
380 </span></span>Как CLR управляет размещением полей для типа </h4>
381
382 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
383 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Упаковка
384 и распаковка значимых типов</h3>
385
386 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
387 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
388 </span></span>Изменение полей в упакованных значимых типах посредством интерфейсов
389 (и почему этого лучше не делать)</h4>
390
391 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
392 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
393 </span></span>Равенство и тождество объектов</h4>
394
395 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
396 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Хеш-коды
397 объектов</h3>
398
399 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
400 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивный
401 тип данных dynamic</h3>
402
403 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
404 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
405 6. Основные сведения о членах и типах</h2>
406
407 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
408 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Члены
409 типа</h3>
410
411 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
412 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Видимость
413 типа</h3>
414
415 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
416 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
417 </span></span>Дружественные сборки</h4>
418
419 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
420 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Доступ
421 к членам типов</h3>
422
423 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
424 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Статические
425 классы</h3>
426
427 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
428 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Частичные
429 классы, структуры и интерфейсы</h3>
430
431 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
432 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Компоненты,
433 полиморфизм и версии</h3>
434
435 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
436 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
437 </span></span>Вызов виртуальных методов, свойств и событий в CLR</h4>
438
439 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
440 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
441 </span></span>Разумное использование видимости типов и модификаторов доступа к членам</h4>
442
443 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
444 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
445 </span></span>Работа с виртуальными методами при управлении версиями типов</h4>
446
447 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
448 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
449 7. Константы и поля</h2>
450
451 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
452 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Константы</h3>
453
454 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
455 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поля</h3>
456
457 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
458 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
459 8. Методы</h2>
460
461 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
462 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
463 экземпляров и классы (ссылочные типы)</h3>
464
465 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
466 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
467 экземпляров и структуры (значимые типы)</h3>
468
469 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
470 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкторы
471 типов</h3>
472
473 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
474 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
475 перегруженных операторов</h3>
476
477 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
478 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
479 </span></span>Операторы и взаимодействие языков программирования</h4>
480
481 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
482 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
483 </span></span>Особое мнение автора о правилах Microsoft, связанных с именами методов
484 операторов</h4>
485
486 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
487 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
488 операторов преобразования</h3>
489
490 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
491 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Методы
492 расширения</h3>
493
494 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
495 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
496 </span></span>Правила и рекомендации</h4>
497
498 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
499 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
500 </span></span>Расширение разных типов методами расширения</h4>
501
502 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
503 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
504 </span></span>Атрибут расширения</h4>
505
506 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
507 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Частичные
508 методы</h3>
509
510 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
511 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
512 </span></span>Правила и рекомендации</h4>
513
514 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
515 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
516 9. Параметры</h2>
517
518 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
519 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Необязательные
520 и именованные параметры</h3>
521
522 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
523 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
524 </span></span>Правила использования параметров.</h4>
525
526 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
527 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
528 </span></span>Атрибут DefaultParameterValue и необязательные атрибуты</h4>
529
530 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
531 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Неявно
532 типизированные локальные переменные</h3>
533
534 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
535 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
536 параметров в метод по ссылке</h3>
537
538 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
539 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
540 переменного количества аргументов</h3>
541
542 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
543 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Типы
544 параметров и возвращаемых значений</h3>
545
546 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
547 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Константность</h3>
548
549 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
550 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
551 10. Свойства</h2>
552
553 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
554 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Свойства
555 без параметров</h3>
556
557 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
558 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
559 </span></span>Автоматически реализуемые свойства</h4>
560
561 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
562 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
563 </span></span>Осторожный подход к определению свойств</h4>
564
565 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
566 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
567 </span></span>Свойства и отладчик Visual Studio</h4>
568
569 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
570 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
571 </span></span>Инициализаторы объектов и коллекций</h4>
572
573 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
574 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
575 </span></span>Анонимные типы</h4>
576
577 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
578 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
579 </span></span>Тип System.Tuple</h4>
580
581 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
582 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Свойства
583 с параметрами</h3>
584
585 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
586 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
587 </span></span>Выбор главного свойства с параметрами</h4>
588
589 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
590 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Производительность
591 при вызове методов доступа</h3>
592
593 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
594 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Доступность
595 методов доступа свойств</h3>
596
597 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
598 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
599 методы доступа свойств</h3>
600
601 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
602 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
603 11. События</h2>
604
605 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
606 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Разработка
607 типа, поддерживающего событие</h3>
608
609 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
610 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
611 1. Определение типа для хранения всей дополнительной информации, передаваемой получателям
612 уведомления о событии</h3>
613
614 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
615 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
616 2. Определение члена-события</h3>
617
618 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
619 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
620 3. Определение метода, ответственного за уведомление зарегистрированных объектов
621 о событии</h3>
622
623 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
624 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Этап
625 4. Определение метода, преобразующего входную информацию в желаемое событие</h3>
626
627 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
628 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Реализация
629 событий компилятором</h3>
630
631 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
632 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
633 типа, отслеживающего событие</h3>
634
635 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
636 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Явное
637 управление регистрацией событий</h3>
638
639 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
640 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
641 12. Обобщения</h2>
642
643 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
644 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
645 в библиотеке FCL</h3>
646
647 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
648 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Инфраструктура
649 обобщений</h3>
650
651 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
652 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
653 </span></span>Открытые и закрытые типы</h4>
654
655 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
656 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
657 </span></span>Обобщенные типы и наследование</h4>
658
659 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
660 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
661 </span></span>Идентификация обобщенных типов</h4>
662
663 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
664 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
665 </span></span>Разрастание кода</h4>
666
667 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
668 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
669 интерфейсы</h3>
670
671 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
672 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
673 делегаты</h3>
674
675 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
676 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
677 </span></span>Контравариантные и ковариантные аргументы-типы в делегатах и интерфейсах</h4>
678
679 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
680 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
681 методы</h3>
682
683 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
684 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
685 </span></span>Обобщенные методы и выведение типов</h4>
686
687 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
688 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
689 и другие члены</h3>
690
691 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
692 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Верификация
693 и ограничения</h3>
694
695 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
696 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
697 </span></span>Основные ограничения</h4>
698
699 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
700 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
701 </span></span>Дополнительные ограничения</h4>
702
703 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
704 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
705 </span></span>Ограничения конструктора</h4>
706
707 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
708 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
709 </span></span>Другие проблемы верификации</h4>
710
711 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
712 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
713 13<span lang=EN-US>.</span><span lang=EN-US> </span>Интерфейсы</h2>
714
715 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
716 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Наследование
717 в классах и интерфейсах</h3>
718
719 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
720 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
721 интерфейсов</h3>
722
723 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
724 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Наследование
725 интерфейсов</h3>
726
727 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
728 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Подробнее
729 о вызовах интерфейсных методов</h3>
730
731 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
732 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Явные
733 и неявные реализации интерфейсных методов (что происходит за кулисами)</h3>
734
735 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
736 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
737 интерфейсы</h3>
738
739 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
740 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщения
741 и ограничения интерфейса</h3>
742
743 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
744 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Реализация
745 нескольких интерфейсов с одинаковыми сигнатурами и именами методов</h3>
746
747 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
748 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Совершенствование
749 безопасности типов за счет явной реализации интерфейсных методов</h3>
750
751 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
752 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Опасности
753 явной реализации интерфейсных методов</h3>
754
755 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
756 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Дилемма
757 разработчика: базовый класс или интерфейс?</h3>
758
759 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
760 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
761 </span></span>Часть III. Основные типы данных</h1>
762
763 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
764 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
765 14. Символы, строки и обработка текста</h2>
766
767 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
768 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Символы</h3>
769
770 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
771 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Тип
772 System.String</h3>
773
774 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
775 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
776 </span></span>Создание строк</h4>
777
778 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
779 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
780 </span></span>Неизменяемые строки</h4>
781
782 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
783 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
784 </span></span>Сравнение строк</h4>
785
786 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
787 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
788 </span></span>Интернирование строк</h4>
789
790 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
791 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
792 </span></span>Создание пулов строк</h4>
793
794 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
795 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
796 </span></span>Работа с символами и текстовыми элементами в строке</h4>
797
798 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
799 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
800 </span></span>Прочие операции со строками</h4>
801
802 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
803 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Эффективное
804 создание строк</h3>
805
806 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
807 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
808 </span></span>Создание объекта StringBuilder</h4>
809
810 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
811 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
812 </span></span>Члены типа StringBuilder</h4>
813
814 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
815 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Получение
816 строкового представления объекта</h3>
817
818 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
819 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
820 </span></span>Форматы и региональные стандарты</h4>
821
822 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
823 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
824 </span></span>Форматирование нескольких объектов в одну строку</h4>
825
826 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
827 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
828 </span></span>Создание собственного средства форматирования</h4>
829
830 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
831 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Получение
832 объекта посредством разбора строки</h3>
833
834 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
835 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Кодировки:
836 преобразования между символами и байтами</h3>
837
838 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
839 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
840 </span></span>Кодирование и декодирование потоков символов и байтов</h4>
841
842 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
843 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
844 </span></span>Кодирование и декодирование строк в кодировке Base-64</h4>
845
846 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
847 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Защищенные
848 строки</h3>
849
850 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
851 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
852 15. Перечислимые типы и битовые флаги</h2>
853
854 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
855 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Перечислимые
856 типы</h3>
857
858 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
859 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Битовые
860 флаги</h3>
861
862 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
863 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Добавление
864 методов к перечислимым типам</h3>
865
866 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
867 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
868 16. Массивы</h2>
869
870 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
871 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Инициализация
872 элементов массива</h3>
873
874 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
875 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приведение
876 типов в массивах</h3>
877
878 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
879 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Базовый
880 класс System Array</h3>
881
882 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
883 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
884 </span></span>Реализация интерфейсов <span lang=EN-US>IEnumerable, ICollection </span>и
885 <span lang=EN-US>IList</span></h3>
886
887 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
888 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Передача
889 и возврат массивов</h3>
890
891 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
892 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Массивы
893 с ненулевой нижней границей</h3>
894
895 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
896 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Внутренняя
897 реализация массивов</h3>
898
899 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
900 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Небезопасный
901 доступ к массивам и массивы фиксированного размера</h3>
902
903 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
904 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
905 17. Делегаты</h2>
906
907 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
908 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Знакомство
909 с делегатами</h3>
910
911 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
912 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
913 вызов статических методов</h3>
914
915 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
916 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
917 вызов экземплярных методов</h3>
918
919 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
920 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Тонкости
921 использования делегатов</h3>
922
923 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
924 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обратный
925 вызов нескольких методов (цепочки делегатов)</h3>
926
927 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
928 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
929 </span></span>Поддержка цепочек делегатов в C#</h4>
930
931 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
932 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
933 </span></span>Дополнительные средства управления цепочками делегатов</h4>
934
935 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
936 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Обобщенные
937 делегаты</h3>
938
939 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
940 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Упрощенный
941 синтаксис работы с делегатами</h3>
942
943 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
944 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
945 </span></span>Упрощение 1: не создаем объект делегата</h4>
946
947 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
948 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
949 </span></span>Упрощение 2: не определяем метод обратного вызова</h4>
950
951 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
952 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
953 </span></span>Упрощение 3: не создаем обертку для локальных переменных для передачи
954 их методу обратного вызова</h4>
955
956 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
957 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Делегаты
958 и отражение</h3>
959
960 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
961 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
962 18. Настраиваемые атрибуты</h2>
963
964 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
965 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сфера
966 применения настраиваемых атрибутов</h3>
967
968 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
969 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
970 класса атрибутов</h3>
971
972 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
973 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструктор
974 атрибута и типы данных полей и свойств</h3>
975
976 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
977 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выявление
978 настраиваемых атрибутов</h3>
979
980 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
981 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сравнение
982 экземпляров атрибута</h3>
983
984 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
985 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выявление
986 настраиваемых атрибутов без создания объектов, производных от Attribute</h3>
987
988 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
989 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Условные
990 атрибуты</h3>
991
992 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
993 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
994 19. Null-совместимые значимые типы</h2>
995
996 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
997 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поддержка
998 в C# null-совместимых значимых типов</h3>
999
1000 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1001 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Оператор
1002 объединения null-совместимых значений</h3>
1003
1004 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1005 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поддержка
1006 в CLR null-совместимых значимых типов</h3>
1007
1008 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1009 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1010 </span></span>Упаковка null-совместимых значимых типов</h4>
1011
1012 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1013 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1014 </span></span>Распаковка null-совместимых значимых типов</h4>
1015
1016 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1017 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1018 </span></span>Вызов метода GetType через null-совместимый значимый тип</h4>
1019
1020 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1021 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1022 </span></span>Вызов интерфейсных методов через null-совместимый  значимый тип</h4>
1023
1024 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
1025 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1026 </span></span>Часть IV. Ключевые механизмы</h1>
1027
1028 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1029 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1030 20. Исключения и управление состоянием 496</h2>
1031
1032 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1033 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
1034 «исключения»</h3>
1035
1036 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1037 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Механика
1038 обработки исключений</h3>
1039
1040 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1041 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1042 </span></span>Блок try</h4>
1043
1044 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1045 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1046 </span></span>Блок catch</h4>
1047
1048 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1049 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1050 </span></span>Блок finally</h4>
1051
1052 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1053 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1054 </span></span>CLS-совместимые и CLS-несовместимые исключения</h4>
1055
1056 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1057 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Класс
1058 System<span lang=EN-US>.</span>Exception</h3>
1059
1060 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1061 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Классы
1062 исключений, определенные в FCL</h3>
1063
1064 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1065 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Генерирование
1066 исключений</h3>
1067
1068 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1069 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
1070 классов исключений</h3>
1071
1072 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1073 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Продуктивность
1074 вместо надежности</h3>
1075
1076 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1077 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приемы
1078 работы с исключениями</h3>
1079
1080 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1081 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1082 </span></span>Активно используйте блоки finally</h4>
1083
1084 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1085 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1086 </span></span>Не надо перехватывать все исключения</h4>
1087
1088 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1089 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1090 </span></span>Корректное восстановление после исключения</h4>
1091
1092 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1093 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отмена
1094 незавершенных операций при невосстановимых исключениях</h3>
1095
1096 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1097 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сокрытие
1098 деталей реализации для сохранения контракта</h3>
1099
1100 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1101 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Необработанные
1102 исключения</h3>
1103
1104 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1105 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отладка
1106 исключений</h3>
1107
1108 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1109 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Скорость
1110 обработки исключений</h3>
1111
1112 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1113 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Области
1114 ограниченного выполнения</h3>
1115
1116 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1117 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контракты
1118 кода</h3>
1119
1120 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1121 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1122 21. Автоматическое управление памятью (уборка мусора)</h2>
1123
1124 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1125 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управляемая
1126 куча</h3>
1127
1128 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1129 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1130 </span></span>Выделение ресурсов из управляемой кучи</h4>
1131
1132 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1133 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1134 </span></span>Алгоритм уборки мусора</h4>
1135
1136 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1137 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1138 </span></span>Уборка мусора и отладка</h4>
1139
1140 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1141 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Поколения</h3>
1142
1143 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1144 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1145 </span></span>Запуск уборки мусора</h4>
1146
1147 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1148 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1149 </span></span>Большие объекты</h4>
1150
1151 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1152 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1153 </span></span>Режимы уборки мусора</h4>
1154
1155 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1156 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1157 </span></span>Программное управление уборщиком мусора</h4>
1158
1159 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1160 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1161 </span></span>Мониторинг использования памяти приложением</h4>
1162
1163 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1164 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Освобождение
1165 ресурсов при помощи механизма финализации</h3>
1166
1167 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1168 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1169 </span></span>Типы, использующие системные ресурсы</h4>
1170
1171 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1172 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1173 </span></span>Интересные аспекты зависимостей</h4>
1174
1175 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1176 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1177 </span></span>Другие возможности уборщика мусора для работы с системными ресурсами</h4>
1178
1179 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1180 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1181 </span></span>Внутренняя реализация финализации</h4>
1182
1183 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1184 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Мониторинг
1185 и контроль времени жизни объектов</h3>
1186
1187 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1188 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1189 22. Хостинг CLR и домены приложений</h2>
1190
1191 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1192 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Хостинг
1193 CLR</h3>
1194
1195 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1196 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Домены
1197 приложений</h3>
1198
1199 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1200 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1201 </span></span>Доступ к объектам из других доменов</h4>
1202
1203 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1204 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Выгрузка
1205 доменов</h3>
1206
1207 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1208 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Мониторинг
1209 доменов</h3>
1210
1211 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1212 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Уведомление
1213 о первом управляемом исключении домена</h3>
1214
1215 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1216 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Использование
1217 хостами доменов приложений</h3>
1218
1219 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1220 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1221 </span></span>Исполняемые приложения</h4>
1222
1223 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1224 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1225 </span></span>Полнофункциональные интернет-приложения Silverlight</h4>
1226
1227 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1228 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1229 </span></span>Microsoft ASPNET и веб-службы XML</h4>
1230
1231 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1232 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1233 </span></span>Microsoft SQL Server</h4>
1234
1235 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1236 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1237 </span></span>Будущее и мечты</h4>
1238
1239 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1240 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Нетривиальное
1241 управление хостингом</h3>
1242
1243 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1244 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1245 </span></span>Применение управляемого кода</h4>
1246
1247 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1248 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1249 </span></span>Разработка надежных хост-приложений</h4>
1250
1251 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1252 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1253 </span></span>Возвращение потока в хост</h4>
1254
1255 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1256 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1257 23. Загрузка сборок и отражение</h2>
1258
1259 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1260 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Загрузка
1261 сборок</h3>
1262
1263 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1264 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Использование
1265 отражения для создания динамически расширяемых приложений</h3>
1266
1267 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1268 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Производительность
1269 отражения</h3>
1270
1271 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1272 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1273 </span></span>Нахождение типов, определенных в сборке</h4>
1274
1275 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1276 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1277 </span></span>Объект Type</h4>
1278
1279 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1280 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1281 </span></span>Создание иерархии типов, производных от Exception</h4>
1282
1283 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1284 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1285 </span></span>Создание экземпляра типа</h4>
1286
1287 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1288 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Создание
1289 приложений с поддержкой подключаемых компонентов</h3>
1290
1291 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1292 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1293 </span></span>Нахождение членов типа путем отражения</h4>
1294
1295 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1296 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1297 </span></span>Нахождение членов типа</h4>
1298
1299 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1300 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1301 </span></span>Обращение к членам типов</h4>
1302
1303 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1304 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1305 </span></span>Использование дескрипторов привязки для снижения потребления памяти
1306 процессом</h4>
1307
1308 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1309 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1310 24. Сериализация</h2>
1311
1312 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1313 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Практический
1314 пример сериализации/десериализации</h3>
1315
1316 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1317 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализуемые
1318 типы</h3>
1319
1320 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1321 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управление
1322 сериализацией и десериализацией</h3>
1323
1324 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1325 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализация
1326 экземпляров типа</h3>
1327
1328 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1329 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Управление
1330 сериализованными и десериализованными данными</h3>
1331
1332 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1333 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1334 </span></span>Определение типа, реализующего интерфейс ISerializable, не реализуемый
1335 базовым классом</h4>
1336
1337 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1338 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контексты
1339 потока ввода-вывода</h3>
1340
1341 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1342 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Сериализация
1343 в другой тип и десериализация в другой объект</h3>
1344
1345 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1346 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Суррогаты
1347 сериализации</h3>
1348
1349 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1350 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1351 </span></span>Цепочка селекторов суррогатов</h4>
1352
1353 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1354 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Переопределение
1355 сборки и/или типа при десериализации объекта</h3>
1356
1357 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1358 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1359 25. Взаимодействие с компонентами WinRT</h2>
1360
1361 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1362 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Проекции
1363 уровня CLR и правила системы типов компонентов WinRT</h3>
1364
1365 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1366 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1367 </span></span>Основные концепции системы типов WinRT</h4>
1368
1369 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1370 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Проекции
1371 уровня .NET Framework</h3>
1372
1373 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1374 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1375 </span></span>Асинхронные вызовы WinRT API из кода  NET</h4>
1376
1377 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1378 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1379 </span></span>Взаимодействия между потоками WinRT и потоками  NET</h4>
1380
1381 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1382 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1383 </span></span>Передача блоков данных между CLR и WinRT</h4>
1384
1385 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1386 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Определение
1387 компонентов WinRT в коде C#</h3>
1388
1389 <h1 style='margin-left:36.0pt;text-indent:-18.0pt'><span style='font-family:
1390 Symbol'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1391 </span></span>Часть V. Многопоточность</h1>
1392
1393 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1394 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1395 26. Потоки исполнения</h2>
1396
1397 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1398 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1399 </span></span>Для чего Windows поддерживает потоки?</h4>
1400
1401 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1402 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1403 </span></span>Ресурсоемкость потоков</h4>
1404
1405 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1406 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1407 </span></span>Так дальше не пойдет!</h4>
1408
1409 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1410 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1411 </span></span>Тенденции развития процессоров</h4>
1412
1413 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1414 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1415 </span></span>CLR- и Windows-потоки</h4>
1416
1417 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1418 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1419 </span></span>Потоки для асинхронных вычислительных операций</h4>
1420
1421 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1422 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1423 </span></span>Причины использования потоков</h4>
1424
1425 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1426 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1427 </span></span>Планирование и приоритеты потоков</h4>
1428
1429 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1430 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1431 </span></span>Фоновые и активные потоки</h4>
1432
1433 <h4 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1434 Wingdings;font-style:normal'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1435 </span></span>Что дальше?</h4>
1436
1437 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1438 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1439 27. Асинхронные вычислительные операции</h2>
1440
1441 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1442 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Пул
1443 потоков в CLR</h3>
1444
1445 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1446 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простые
1447 вычислительные операции</h3>
1448
1449 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1450 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Контексты
1451 исполнения</h3>
1452
1453 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1454 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Скоординированная
1455 отмена</h3>
1456
1457 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1458 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Задания</h3>
1459
1460 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1461 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1462 </span></span>Завершение задания и получение результата</h4>
1463
1464 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1465 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1466 </span></span>Отмена задания</h4>
1467
1468 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1469 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1470 </span></span>Автоматический запуск задания по завершении предыдущего </h4>
1471
1472 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1473 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1474 </span></span>Дочерние задания</h4>
1475
1476 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1477 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1478 </span></span>Структура задания</h4>
1479
1480 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1481 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1482 </span></span>Фабрики заданий</h4>
1483
1484 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1485 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1486 </span></span>Планировщики заданий</h4>
1487
1488 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span lang=EN-US
1489 style='font-family:Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp;
1490 </span></span>Методы <span lang=EN-US>For, ForEach </span>и <span lang=EN-US>Invoke
1491 </span>класса <span lang=EN-US>Parallel</span></h3>
1492
1493 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1494 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Встроенный
1495 язык параллельных запросов</h3>
1496
1497 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1498 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Периодические
1499 вычислительные операции </h3>
1500
1501 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1502 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1503 </span></span>Разновидности таймеров</h4>
1504
1505 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1506 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Как
1507 пул управляет потоками</h3>
1508
1509 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1510 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1511 </span></span>Ограничение количества потоков в пуле</h4>
1512
1513 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1514 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1515 </span></span>Управление рабочими потоками</h4>
1516
1517 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1518 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1519 28. Асинхронные операции ввода-вывода</h2>
1520
1521 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1522 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Операции
1523 ввода-вывода в Windows</h3>
1524
1525 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1526 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1527 функции C#</h3>
1528
1529 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1530 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Преобразование
1531 асинхронной функции в конечный автомат</h3>
1532
1533 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1534 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Расширяемость
1535 асинхронных функций</h3>
1536
1537 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1538 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1539 функции и обработчики событий</h3>
1540
1541 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1542 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1543 функции в FCL</h3>
1544
1545 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1546 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронные
1547 функции и исключения</h3>
1548
1549 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1550 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Другие
1551 возможности асинхронных функций</h3>
1552
1553 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1554 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Потоковые
1555 модели приложений</h3>
1556
1557 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1558 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронная
1559 реализация сервера</h3>
1560
1561 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1562 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Отмена
1563 операций ввода-вывода</h3>
1564
1565 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1566 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1567 </span></span>Некоторые операции ввода-вывода должны выполняться синхронно</h4>
1568
1569 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1570 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1571 </span></span>Проблемы FileStream</h4>
1572
1573 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1574 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Приоритеты
1575 запросов ввода-вывода</h3>
1576
1577 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1578 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1579 29. Примитивные конструкции синхронизации потоков</h2>
1580
1581 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1582 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Библиотеки
1583 классов и безопасность потоков</h3>
1584
1585 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1586 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Примитивные
1587 конструкции пользовательского режима </h3>
1588
1589 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1590 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>и режима
1591 ядра</h3>
1592
1593 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1594 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкции
1595 пользовательского режима</h3>
1596
1597 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1598 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1599 </span></span>Volatile-конструкции</h4>
1600
1601 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1602 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1603 </span></span>Interlocked-конструкции</h4>
1604
1605 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1606 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1607 </span></span>Реализация простой циклической блокировки</h4>
1608
1609 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1610 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1611 </span></span>Универсальный Interlocked-паттерн</h4>
1612
1613 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1614 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Конструкции
1615 режима ядра</h3>
1616
1617 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1618 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1619 </span></span>События</h4>
1620
1621 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1622 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1623 </span></span>Семафоры</h4>
1624
1625 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1626 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1627 </span></span>Мьютексы</h4>
1628
1629 <h2 style='margin-left:72.0pt;text-indent:-18.0pt'><span style='font-family:
1630 "Courier New"'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span>Глава
1631 30. Гибридные конструкции синхронизации потоков</h2>
1632
1633 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1634 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Простая
1635 гибридная блокировка</h3>
1636
1637 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1638 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Зацикливание,
1639 владение потоком и рекурсия</h3>
1640
1641 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1642 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Гибридные
1643 конструкции в FCL</h3>
1644
1645 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1646 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1647 </span></span>Классы ManualResetEventSlim и SemaphoreSlim</h4>
1648
1649 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1650 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1651 </span></span>Класс Monitor и блоки синхронизации</h4>
1652
1653 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1654 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1655 </span></span>Класс ReaderWriterLockSlim</h4>
1656
1657 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1658 style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1659 </span></span>Класс <span lang=EN-US>OneManyLock</span></h4>
1660
1661 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1662 style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1663 </span></span>Класс <span lang=EN-US>CountdownEvent</span></h4>
1664
1665 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span lang=EN-US
1666 style='font-family:Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1667 </span></span>Класс <span lang=EN-US>Barrier</span></h4>
1668
1669 <h4 style='margin-left:144.0pt;text-indent:-18.0pt'><span style='font-family:
1670 Symbol;font-style:normal'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1671 </span></span>Выводы по гибридным конструкциям</h4>
1672
1673 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1674 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Блокировка
1675 с двойной проверкой</h3>
1676
1677 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1678 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Паттерн
1679 условной переменной</h3>
1680
1681 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1682 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Асинхронная
1683 синхронизация</h3>
1684
1685 <h3 style='margin-left:108.0pt;text-indent:-18.0pt'><span style='font-family:
1686 Wingdings'>§<span style='font:7.0pt "Times New Roman"'>&nbsp; </span></span>Классы
1687 коллекций для параллельного доступа</h3>
1688
1689 </div>
1690
1691 </body>
1692
1693 </html>
1694
1695 {{/html}}
1696
1697 (% class="WordSection1" %)
1698 (((
1699 (% style="margin-left:36.0pt;text-indent:-18.0pt" %)
1700 = (% style="font-family:Symbol" %)·(% style="font-family: Symbol; font: 7pt ~"Times New Roman~"" %)       (%%)Часть I. Основы CLR =
1701
1702 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1703 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 1. Модель выполнения кода в среде CLR ==
1704
1705 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1706 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Компиляция исходного кода в управляемые модули ===
1707
1708 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1709 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Объединение управляемых модулей в сборку ===
1710
1711 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1712 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Загрузка CLR ===
1713
1714 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1715 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Исполнение кода сборки ===
1716
1717 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1718 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)IL-код и верификация ====
1719
1720 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1721 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Небезопасный код ====
1722
1723 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1724 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)IL и защита интеллектуальной собственности ====
1725
1726 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1727 === (% lang="EN-US" style="font-family:Wingdings" %)§(% lang="EN-US" style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (% lang="EN-US" %)NGen.exe(%%) ===
1728
1729 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1730 === (% lang="EN-US" style="font-family:Wingdings" %)§(% lang="EN-US" style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Библиотека (% lang="EN-US" %)FCL(%%) ===
1731
1732 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1733 === (% lang="EN-US" style="font-family:Wingdings" %)§(% lang="EN-US" style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (% lang="EN-US" %)CTS(%%) ===
1734
1735 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1736 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)CLS ===
1737
1738 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1739 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Взаимодействие с неуправляемым кодом ===
1740
1741 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1742 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 2. Компоновка, упаковка, развертывание и администрирование приложений и типов ==
1743
1744 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1745 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Задачи развертывания в (% lang="EN-US" %).(%%)NET Framework ===
1746
1747 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1748 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Компоновка типов в модуль ===
1749
1750 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1751 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Файл параметров ====
1752
1753 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1754 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Несколько слов о метаданных ===
1755
1756 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1757 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Объединение модулей для создания сборки ===
1758
1759 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1760 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Добавление сборок в проект в среде Visual Studio ====
1761
1762 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1763 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Использование утилиты Assembly Linker ====
1764
1765 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1766 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Включение в сборку файлов ресурсов ====
1767
1768 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1769 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Ресурсы со сведениями о версии сборки ===
1770
1771 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1772 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Номера версии ====
1773
1774 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1775 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Региональные стандарты ===
1776
1777 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1778 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Развертывание простых приложений (закрытое развертывание сборок) ===
1779
1780 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1781 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Простое средство администрирования (конфигурационный файл) ===
1782
1783 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1784 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Алгоритм поиска файлов сборки ====
1785
1786 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1787 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 3. Совместно используемые сборки и сборки со строгим именем ==
1788
1789 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1790 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Два вида сборок — два вида развертывания ===
1791
1792 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1793 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Назначение сборке строгого имени ===
1794
1795 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1796 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Глобальный кэш сборок ===
1797
1798 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1799 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Построение сборки, ссылающейся на сборку со строгим именем ===
1800
1801 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1802 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Устойчивость сборок со строгими именами к несанкционированной модификации ===
1803
1804 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1805 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Отложенное подписание ===
1806
1807 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1808 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Закрытое развертывание сборок со строгими именами ===
1809
1810 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1811 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Как исполняющая среда разрешает ссылки на типы ===
1812
1813 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1814 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Дополнительные административные средства (конфигурационные файлы) ===
1815
1816 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1817 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Управление версиями при помощи политики издателя ====
1818
1819 (% style="margin-left:36.0pt;text-indent:-18.0pt" %)
1820 = (% style="font-family:Symbol" %)·(% style="font-family: Symbol; font: 7pt ~"Times New Roman~"" %)       (%%)Часть II. Проектирование типов =
1821
1822 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1823 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 4. Основы типов ==
1824
1825 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1826 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Все типы — производные от System.Object ===
1827
1828 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1829 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Приведение типов ===
1830
1831 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1832 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Приведение типов в C# с помощью операторов is и as ====
1833
1834 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1835 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Пространства имен и сборки ===
1836
1837 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1838 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Связь между сборками и пространством имен ====
1839
1840 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1841 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Как разные компоненты взаимодействуют во время выполнения ===
1842
1843 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1844 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 5. Примитивные, ссылочные и значимые типы ==
1845
1846 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1847 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Примитивные типы в языках программирования ===
1848
1849 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1850 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Проверяемые и непроверяемые операции для примитивных типов ====
1851
1852 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1853 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Ссылочные и значимые типы ===
1854
1855 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1856 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Как CLR управляет размещением полей для типа ====
1857
1858 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1859 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Упаковка и распаковка значимых типов ===
1860
1861 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1862 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Изменение полей в упакованных значимых типах посредством интерфейсов (и почему этого лучше не делать) ====
1863
1864 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1865 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Равенство и тождество объектов ====
1866
1867 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1868 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Хеш-коды объектов ===
1869
1870 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1871 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Примитивный тип данных dynamic ===
1872
1873 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1874 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 6. Основные сведения о членах и типах ==
1875
1876 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1877 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Члены типа ===
1878
1879 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1880 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Видимость типа ===
1881
1882 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1883 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Дружественные сборки ====
1884
1885 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1886 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Доступ к членам типов ===
1887
1888 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1889 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Статические классы ===
1890
1891 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1892 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Частичные классы, структуры и интерфейсы ===
1893
1894 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1895 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Компоненты, полиморфизм и версии ===
1896
1897 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1898 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Вызов виртуальных методов, свойств и событий в CLR ====
1899
1900 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1901 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Разумное использование видимости типов и модификаторов доступа к членам ====
1902
1903 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1904 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Работа с виртуальными методами при управлении версиями типов ====
1905
1906 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1907 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 7. Константы и поля ==
1908
1909 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1910 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Константы ===
1911
1912 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1913 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Поля ===
1914
1915 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1916 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 8. Методы ==
1917
1918 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1919 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Конструкторы экземпляров и классы (ссылочные типы) ===
1920
1921 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1922 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Конструкторы экземпляров и структуры (значимые типы) ===
1923
1924 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1925 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Конструкторы типов ===
1926
1927 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1928 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Методы перегруженных операторов ===
1929
1930 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1931 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Операторы и взаимодействие языков программирования ====
1932
1933 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1934 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Особое мнение автора о правилах Microsoft, связанных с именами методов операторов ====
1935
1936 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1937 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Методы операторов преобразования ===
1938
1939 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1940 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Методы расширения ===
1941
1942 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1943 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Правила и рекомендации ====
1944
1945 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1946 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Расширение разных типов методами расширения ====
1947
1948 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1949 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Атрибут расширения ====
1950
1951 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1952 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Частичные методы ===
1953
1954 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1955 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Правила и рекомендации ====
1956
1957 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1958 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 9. Параметры ==
1959
1960 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1961 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Необязательные и именованные параметры ===
1962
1963 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1964 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Правила использования параметров. ====
1965
1966 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1967 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Атрибут DefaultParameterValue и необязательные атрибуты ====
1968
1969 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1970 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Неявно типизированные локальные переменные ===
1971
1972 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1973 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Передача параметров в метод по ссылке ===
1974
1975 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1976 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Передача переменного количества аргументов ===
1977
1978 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1979 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Типы параметров и возвращаемых значений ===
1980
1981 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1982 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Константность ===
1983
1984 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
1985 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 10. Свойства ==
1986
1987 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
1988 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Свойства без параметров ===
1989
1990 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1991 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Автоматически реализуемые свойства ====
1992
1993 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1994 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Осторожный подход к определению свойств ====
1995
1996 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
1997 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Свойства и отладчик Visual Studio ====
1998
1999 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2000 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Инициализаторы объектов и коллекций ====
2001
2002 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2003 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Анонимные типы ====
2004
2005 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2006 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Тип System.Tuple ====
2007
2008 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2009 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Свойства с параметрами ===
2010
2011 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2012 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Выбор главного свойства с параметрами ====
2013
2014 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2015 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Производительность при вызове методов доступа ===
2016
2017 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2018 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Доступность методов доступа свойств ===
2019
2020 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2021 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщенные методы доступа свойств ===
2022
2023 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2024 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 11. События ==
2025
2026 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2027 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Разработка типа, поддерживающего событие ===
2028
2029 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2030 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Этап 1. Определение типа для хранения всей дополнительной информации, передаваемой получателям уведомления о событии ===
2031
2032 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2033 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Этап 2. Определение члена-события ===
2034
2035 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2036 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Этап 3. Определение метода, ответственного за уведомление зарегистрированных объектов о событии ===
2037
2038 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2039 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Этап 4. Определение метода, преобразующего входную информацию в желаемое событие ===
2040
2041 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2042 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Реализация событий компилятором ===
2043
2044 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2045 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Создание типа, отслеживающего событие ===
2046
2047 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2048 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Явное управление регистрацией событий ===
2049
2050 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2051 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 12. Обобщения ==
2052
2053 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2054 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщения в библиотеке FCL ===
2055
2056 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2057 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Инфраструктура обобщений ===
2058
2059 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2060 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Открытые и закрытые типы ====
2061
2062 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2063 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Обобщенные типы и наследование ====
2064
2065 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2066 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Идентификация обобщенных типов ====
2067
2068 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2069 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Разрастание кода ====
2070
2071 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2072 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщенные интерфейсы ===
2073
2074 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2075 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщенные делегаты ===
2076
2077 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2078 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Контравариантные и ковариантные аргументы-типы в делегатах и интерфейсах ====
2079
2080 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2081 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщенные методы ===
2082
2083 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2084 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Обобщенные методы и выведение типов ====
2085
2086 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2087 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщения и другие члены ===
2088
2089 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2090 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Верификация и ограничения ===
2091
2092 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2093 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Основные ограничения ====
2094
2095 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2096 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Дополнительные ограничения ====
2097
2098 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2099 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Ограничения конструктора ====
2100
2101 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2102 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Другие проблемы верификации ====
2103
2104 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2105 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 13(% lang="EN-US" %). (%%)Интерфейсы ==
2106
2107 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2108 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Наследование в классах и интерфейсах ===
2109
2110 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2111 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Определение интерфейсов ===
2112
2113 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2114 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Наследование интерфейсов ===
2115
2116 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2117 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Подробнее о вызовах интерфейсных методов ===
2118
2119 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2120 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Явные и неявные реализации интерфейсных методов (что происходит за кулисами) ===
2121
2122 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2123 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщенные интерфейсы ===
2124
2125 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2126 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщения и ограничения интерфейса ===
2127
2128 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2129 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Реализация нескольких интерфейсов с одинаковыми сигнатурами и именами методов ===
2130
2131 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2132 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Совершенствование безопасности типов за счет явной реализации интерфейсных методов ===
2133
2134 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2135 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Опасности явной реализации интерфейсных методов ===
2136
2137 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2138 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Дилемма разработчика: базовый класс или интерфейс? ===
2139
2140 (% style="margin-left:36.0pt;text-indent:-18.0pt" %)
2141 = (% style="font-family:Symbol" %)·(% style="font-family: Symbol; font: 7pt ~"Times New Roman~"" %)       (%%)Часть III. Основные типы данных =
2142
2143 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2144 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 14. Символы, строки и обработка текста ==
2145
2146 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2147 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Символы ===
2148
2149 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2150 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Тип System.String ===
2151
2152 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2153 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Создание строк ====
2154
2155 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2156 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Неизменяемые строки ====
2157
2158 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2159 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Сравнение строк ====
2160
2161 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2162 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Интернирование строк ====
2163
2164 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2165 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Создание пулов строк ====
2166
2167 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2168 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Работа с символами и текстовыми элементами в строке ====
2169
2170 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2171 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Прочие операции со строками ====
2172
2173 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2174 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Эффективное создание строк ===
2175
2176 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2177 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Создание объекта StringBuilder ====
2178
2179 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2180 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Члены типа StringBuilder ====
2181
2182 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2183 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Получение строкового представления объекта ===
2184
2185 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2186 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Форматы и региональные стандарты ====
2187
2188 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2189 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Форматирование нескольких объектов в одну строку ====
2190
2191 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2192 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Создание собственного средства форматирования ====
2193
2194 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2195 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Получение объекта посредством разбора строки ===
2196
2197 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2198 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Кодировки: преобразования между символами и байтами ===
2199
2200 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2201 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Кодирование и декодирование потоков символов и байтов ====
2202
2203 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2204 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Кодирование и декодирование строк в кодировке Base-64 ====
2205
2206 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2207 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Защищенные строки ===
2208
2209 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2210 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 15. Перечислимые типы и битовые флаги ==
2211
2212 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2213 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Перечислимые типы ===
2214
2215 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2216 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Битовые флаги ===
2217
2218 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2219 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Добавление методов к перечислимым типам ===
2220
2221 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2222 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 16. Массивы ==
2223
2224 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2225 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Инициализация элементов массива ===
2226
2227 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2228 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Приведение типов в массивах ===
2229
2230 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2231 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Базовый класс System Array ===
2232
2233 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2234 === (% lang="EN-US" style="font-family:Wingdings" %)§(% lang="EN-US" style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Реализация интерфейсов (% lang="EN-US" %)IEnumerable, ICollection (%%)и (% lang="EN-US" %)IList(%%) ===
2235
2236 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2237 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Передача и возврат массивов ===
2238
2239 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2240 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Массивы с ненулевой нижней границей ===
2241
2242 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2243 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Внутренняя реализация массивов ===
2244
2245 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2246 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Небезопасный доступ к массивам и массивы фиксированного размера ===
2247
2248 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2249 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 17. Делегаты ==
2250
2251 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2252 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Знакомство с делегатами ===
2253
2254 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2255 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обратный вызов статических методов ===
2256
2257 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2258 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обратный вызов экземплярных методов ===
2259
2260 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2261 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Тонкости использования делегатов ===
2262
2263 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2264 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обратный вызов нескольких методов (цепочки делегатов) ===
2265
2266 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2267 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Поддержка цепочек делегатов в C# ====
2268
2269 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2270 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Дополнительные средства управления цепочками делегатов ====
2271
2272 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2273 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Обобщенные делегаты ===
2274
2275 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2276 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Упрощенный синтаксис работы с делегатами ===
2277
2278 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2279 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Упрощение 1: не создаем объект делегата ====
2280
2281 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2282 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Упрощение 2: не определяем метод обратного вызова ====
2283
2284 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2285 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Упрощение 3: не создаем обертку для локальных переменных для передачи их методу обратного вызова ====
2286
2287 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2288 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Делегаты и отражение ===
2289
2290 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2291 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 18. Настраиваемые атрибуты ==
2292
2293 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2294 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Сфера применения настраиваемых атрибутов ===
2295
2296 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2297 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Определение класса атрибутов ===
2298
2299 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2300 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Конструктор атрибута и типы данных полей и свойств ===
2301
2302 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2303 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Выявление настраиваемых атрибутов ===
2304
2305 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2306 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Сравнение экземпляров атрибута ===
2307
2308 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2309 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Выявление настраиваемых атрибутов без создания объектов, производных от Attribute ===
2310
2311 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2312 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Условные атрибуты ===
2313
2314 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2315 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 19. Null-совместимые значимые типы ==
2316
2317 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2318 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Поддержка в C# null-совместимых значимых типов ===
2319
2320 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2321 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Оператор объединения null-совместимых значений ===
2322
2323 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2324 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Поддержка в CLR null-совместимых значимых типов ===
2325
2326 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2327 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Упаковка null-совместимых значимых типов ====
2328
2329 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2330 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Распаковка null-совместимых значимых типов ====
2331
2332 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2333 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Вызов метода GetType через null-совместимый значимый тип ====
2334
2335 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2336 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Вызов интерфейсных методов через null-совместимый значимый тип ====
2337
2338 (% style="margin-left:36.0pt;text-indent:-18.0pt" %)
2339 = (% style="font-family:Symbol" %)·(% style="font-family: Symbol; font: 7pt ~"Times New Roman~"" %)       (%%)Часть IV. Ключевые механизмы =
2340
2341 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2342 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 20. Исключения и управление состоянием 496 ==
2343
2344 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2345 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Определение «исключения» ===
2346
2347 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2348 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Механика обработки исключений ===
2349
2350 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2351 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Блок try ====
2352
2353 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2354 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Блок catch ====
2355
2356 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2357 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Блок finally ====
2358
2359 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2360 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)CLS-совместимые и CLS-несовместимые исключения ====
2361
2362 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2363 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Класс System(% lang="EN-US" %).(%%)Exception ===
2364
2365 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2366 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Классы исключений, определенные в FCL ===
2367
2368 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2369 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Генерирование исключений ===
2370
2371 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2372 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Создание классов исключений ===
2373
2374 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2375 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Продуктивность вместо надежности ===
2376
2377 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2378 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Приемы работы с исключениями ===
2379
2380 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2381 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Активно используйте блоки finally ====
2382
2383 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2384 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Не надо перехватывать все исключения ====
2385
2386 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2387 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Корректное восстановление после исключения ====
2388
2389 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2390 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Отмена незавершенных операций при невосстановимых исключениях ===
2391
2392 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2393 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Сокрытие деталей реализации для сохранения контракта ===
2394
2395 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2396 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Необработанные исключения ===
2397
2398 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2399 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Отладка исключений ===
2400
2401 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2402 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Скорость обработки исключений ===
2403
2404 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2405 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Области ограниченного выполнения ===
2406
2407 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2408 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Контракты кода ===
2409
2410 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2411 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 21. Автоматическое управление памятью (уборка мусора) ==
2412
2413 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2414 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Управляемая куча ===
2415
2416 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2417 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Выделение ресурсов из управляемой кучи ====
2418
2419 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2420 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Алгоритм уборки мусора ====
2421
2422 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2423 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Уборка мусора и отладка ====
2424
2425 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2426 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Поколения ===
2427
2428 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2429 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Запуск уборки мусора ====
2430
2431 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2432 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Большие объекты ====
2433
2434 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2435 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Режимы уборки мусора ====
2436
2437 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2438 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Программное управление уборщиком мусора ====
2439
2440 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2441 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Мониторинг использования памяти приложением ====
2442
2443 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2444 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Освобождение ресурсов при помощи механизма финализации ===
2445
2446 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2447 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Типы, использующие системные ресурсы ====
2448
2449 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2450 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Интересные аспекты зависимостей ====
2451
2452 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2453 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Другие возможности уборщика мусора для работы с системными ресурсами ====
2454
2455 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2456 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Внутренняя реализация финализации ====
2457
2458 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2459 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Мониторинг и контроль времени жизни объектов ===
2460
2461 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2462 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 22. Хостинг CLR и домены приложений ==
2463
2464 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2465 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Хостинг CLR ===
2466
2467 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2468 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Домены приложений ===
2469
2470 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2471 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Доступ к объектам из других доменов ====
2472
2473 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2474 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Выгрузка доменов ===
2475
2476 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2477 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Мониторинг доменов ===
2478
2479 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2480 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Уведомление о первом управляемом исключении домена ===
2481
2482 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2483 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Использование хостами доменов приложений ===
2484
2485 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2486 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Исполняемые приложения ====
2487
2488 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2489 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Полнофункциональные интернет-приложения Silverlight ====
2490
2491 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2492 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Microsoft ASPNET и веб-службы XML ====
2493
2494 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2495 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Microsoft SQL Server ====
2496
2497 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2498 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Будущее и мечты ====
2499
2500 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2501 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Нетривиальное управление хостингом ===
2502
2503 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2504 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Применение управляемого кода ====
2505
2506 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2507 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Разработка надежных хост-приложений ====
2508
2509 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2510 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Возвращение потока в хост ====
2511
2512 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2513 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 23. Загрузка сборок и отражение ==
2514
2515 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2516 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Загрузка сборок ===
2517
2518 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2519 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Использование отражения для создания динамически расширяемых приложений ===
2520
2521 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2522 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Производительность отражения ===
2523
2524 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2525 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Нахождение типов, определенных в сборке ====
2526
2527 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2528 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Объект Type ====
2529
2530 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2531 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Создание иерархии типов, производных от Exception ====
2532
2533 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2534 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Создание экземпляра типа ====
2535
2536 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2537 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Создание приложений с поддержкой подключаемых компонентов ===
2538
2539 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2540 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Нахождение членов типа путем отражения ====
2541
2542 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2543 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Нахождение членов типа ====
2544
2545 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2546 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Обращение к членам типов ====
2547
2548 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2549 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Использование дескрипторов привязки для снижения потребления памяти процессом ====
2550
2551 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2552 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 24. Сериализация ==
2553
2554 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2555 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Практический пример сериализации/десериализации ===
2556
2557 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2558 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Сериализуемые типы ===
2559
2560 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2561 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Управление сериализацией и десериализацией ===
2562
2563 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2564 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Сериализация экземпляров типа ===
2565
2566 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2567 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Управление сериализованными и десериализованными данными ===
2568
2569 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2570 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Определение типа, реализующего интерфейс ISerializable, не реализуемый базовым классом ====
2571
2572 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2573 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Контексты потока ввода-вывода ===
2574
2575 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2576 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Сериализация в другой тип и десериализация в другой объект ===
2577
2578 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2579 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Суррогаты сериализации ===
2580
2581 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2582 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Цепочка селекторов суррогатов ====
2583
2584 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2585 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Переопределение сборки и/или типа при десериализации объекта ===
2586
2587 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2588 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 25. Взаимодействие с компонентами WinRT ==
2589
2590 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2591 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Проекции уровня CLR и правила системы типов компонентов WinRT ===
2592
2593 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2594 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Основные концепции системы типов WinRT ====
2595
2596 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2597 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Проекции уровня .NET Framework ===
2598
2599 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2600 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Асинхронные вызовы WinRT API из кода NET ====
2601
2602 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2603 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Взаимодействия между потоками WinRT и потоками NET ====
2604
2605 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2606 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Передача блоков данных между CLR и WinRT ====
2607
2608 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2609 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Определение компонентов WinRT в коде C# ===
2610
2611 (% style="margin-left:36.0pt;text-indent:-18.0pt" %)
2612 = (% style="font-family:Symbol" %)·(% style="font-family: Symbol; font: 7pt ~"Times New Roman~"" %)       (%%)Часть V. Многопоточность =
2613
2614 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2615 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 26. Потоки исполнения ==
2616
2617 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2618 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Для чего Windows поддерживает потоки? ====
2619
2620 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2621 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Ресурсоемкость потоков ====
2622
2623 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2624 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Так дальше не пойдет! ====
2625
2626 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2627 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Тенденции развития процессоров ====
2628
2629 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2630 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)CLR- и Windows-потоки ====
2631
2632 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2633 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Потоки для асинхронных вычислительных операций ====
2634
2635 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2636 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Причины использования потоков ====
2637
2638 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2639 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Планирование и приоритеты потоков ====
2640
2641 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2642 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Фоновые и активные потоки ====
2643
2644 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2645 ==== (% style="font-family:Wingdings; font-style:normal" %)§(% style="font-family: Wingdings; font-style: normal; font: 7pt ~"Times New Roman~"" %)  (%%)Что дальше? ====
2646
2647 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2648 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 27. Асинхронные вычислительные операции ==
2649
2650 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2651 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Пул потоков в CLR ===
2652
2653 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2654 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Простые вычислительные операции ===
2655
2656 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2657 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Контексты исполнения ===
2658
2659 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2660 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Скоординированная отмена ===
2661
2662 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2663 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Задания ===
2664
2665 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2666 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Завершение задания и получение результата ====
2667
2668 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2669 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Отмена задания ====
2670
2671 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2672 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Автоматический запуск задания по завершении предыдущего ====
2673
2674 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2675 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Дочерние задания ====
2676
2677 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2678 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Структура задания ====
2679
2680 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2681 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Фабрики заданий ====
2682
2683 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2684 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Планировщики заданий ====
2685
2686 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2687 === (% lang="EN-US" style="font-family:Wingdings" %)§(% lang="EN-US" style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Методы (% lang="EN-US" %)For, ForEach (%%)и (% lang="EN-US" %)Invoke (%%)класса (% lang="EN-US" %)Parallel(%%) ===
2688
2689 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2690 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Встроенный язык параллельных запросов ===
2691
2692 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2693 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Периодические вычислительные операции ===
2694
2695 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2696 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Разновидности таймеров ====
2697
2698 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2699 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Как пул управляет потоками ===
2700
2701 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2702 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Ограничение количества потоков в пуле ====
2703
2704 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2705 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Управление рабочими потоками ====
2706
2707 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2708 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 28. Асинхронные операции ввода-вывода ==
2709
2710 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2711 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Операции ввода-вывода в Windows ===
2712
2713 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2714 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Асинхронные функции C# ===
2715
2716 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2717 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Преобразование асинхронной функции в конечный автомат ===
2718
2719 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2720 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Расширяемость асинхронных функций ===
2721
2722 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2723 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Асинхронные функции и обработчики событий ===
2724
2725 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2726 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Асинхронные функции в FCL ===
2727
2728 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2729 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Асинхронные функции и исключения ===
2730
2731 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2732 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Другие возможности асинхронных функций ===
2733
2734 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2735 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Потоковые модели приложений ===
2736
2737 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2738 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Асинхронная реализация сервера ===
2739
2740 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2741 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Отмена операций ввода-вывода ===
2742
2743 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2744 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Некоторые операции ввода-вывода должны выполняться синхронно ====
2745
2746 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2747 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Проблемы FileStream ====
2748
2749 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2750 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Приоритеты запросов ввода-вывода ===
2751
2752 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2753 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 29. Примитивные конструкции синхронизации потоков ==
2754
2755 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2756 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Библиотеки классов и безопасность потоков ===
2757
2758 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2759 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Примитивные конструкции пользовательского режима ===
2760
2761 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2762 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)и режима ядра ===
2763
2764 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2765 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Конструкции пользовательского режима ===
2766
2767 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2768 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Volatile-конструкции ====
2769
2770 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2771 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Interlocked-конструкции ====
2772
2773 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2774 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Реализация простой циклической блокировки ====
2775
2776 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2777 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Универсальный Interlocked-паттерн ====
2778
2779 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2780 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Конструкции режима ядра ===
2781
2782 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2783 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)События ====
2784
2785 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2786 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Семафоры ====
2787
2788 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2789 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Мьютексы ====
2790
2791 (% style="margin-left:72.0pt;text-indent:-18.0pt" %)
2792 == (% style="font-family:~"Courier New~"" %)o(% style="font-family: ~"Courier New~"; font: 7pt ~"Times New Roman~"" %)   (%%)Глава 30. Гибридные конструкции синхронизации потоков ==
2793
2794 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2795 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Простая гибридная блокировка ===
2796
2797 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2798 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Зацикливание, владение потоком и рекурсия ===
2799
2800 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2801 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Гибридные конструкции в FCL ===
2802
2803 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2804 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Классы ManualResetEventSlim и SemaphoreSlim ====
2805
2806 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2807 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Класс Monitor и блоки синхронизации ====
2808
2809 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2810 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Класс ReaderWriterLockSlim ====
2811
2812 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2813 ==== (% lang="EN-US" style="font-family:Symbol; font-style:normal" %)·(% lang="EN-US" style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Класс (% lang="EN-US" %)OneManyLock(%%) ====
2814
2815 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2816 ==== (% lang="EN-US" style="font-family:Symbol; font-style:normal" %)·(% lang="EN-US" style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Класс (% lang="EN-US" %)CountdownEvent(%%) ====
2817
2818 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2819 ==== (% lang="EN-US" style="font-family:Symbol; font-style:normal" %)·(% lang="EN-US" style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Класс (% lang="EN-US" %)Barrier(%%) ====
2820
2821 (% style="margin-left:144.0pt;text-indent:-18.0pt" %)
2822 ==== (% style="font-family:Symbol; font-style:normal" %)·(% style="font-family: Symbol; font-style: normal; font: 7pt ~"Times New Roman~"" %)         (%%)Выводы по гибридным конструкциям ====
2823
2824 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2825 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Блокировка с двойной проверкой ===
2826
2827 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2828 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Паттерн условной переменной ===
2829
2830 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2831 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Асинхронная синхронизация ===
2832
2833 (% style="margin-left:108.0pt;text-indent:-18.0pt" %)
2834 === (% style="font-family:Wingdings" %)§(% style="font-family: Wingdings; font: 7pt ~"Times New Roman~"" %)  (%%)Классы коллекций для параллельного доступа ===
2835 )))
2836
2837 (% style="background:url(~"https://wiki.denhome.ru/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.55/plugins/widget/images/handle.png~") rgba(220, 220, 220, 0.5); left:0px; top:-15px" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||height="15" role="presentation" title="Нажмите и перетащите, чтобы переместить" width="15"]]