{ "nodes":[ {"id":"6855188a567e4fea","type":"text","text":"Организация данных","x":-176,"y":-460,"width":250,"height":60,"color":"1"}, {"id":"a3e125b7bc2c146c","type":"text","text":"Коллекции","x":-175,"y":-602,"width":250,"height":60}, {"id":"bd3e55962e8452a4","type":"text","text":"Словари и хеш–таблицы![[Pasted image 20260115042310.png]]","x":-591,"y":-1020,"width":540,"height":360}, {"id":"52e9a89d728271ad","type":"text","text":"Массивы![[Pasted image 20260115041644.png]]","x":-781,"y":-602,"width":460,"height":232}, {"id":"51663ccd0fda35ab","type":"text","text":"`try` — Блок «под наблюдением». Любая критическая ошибка внутри него останавливает выполнение кода в этом блоке и перекидывает управление в `catch`.","x":-1929,"y":-78,"width":499,"height":130}, {"id":"0e5f1adf1b3c3e44","type":"text","text":"`catch` — Блок-обработчик. Выполняется только при сбое. Сюда передается объект `Exception` с метаданными (где упало, почему, стек вызовов).","x":-1581,"y":98,"width":502,"height":115}, {"id":"a80659dde7c1a50a","type":"text","text":"`finally` — Блок гарантированного выполнения. Нужен для **детерминированной очистки ресурсов** (закрытие файлов, сетевых соединений). Выполнится даже если в `try` или `catch` был `return`.","x":-1229,"y":-103,"width":499,"height":180}, {"id":"624b5344d0b50da8","type":"text","text":"Обработка исключений\n```c#\ntry/catch/finally\n```","x":-921,"y":-317,"width":280,"height":145}, {"id":"a8d55659c3a5e513","type":"text","text":"Обработка исключительных ситуаций![[Pasted image 20260115044016.png]]","x":-730,"y":-154,"width":411,"height":367,"color":"1"}, {"id":"dee746fe481f2ac9","type":"text","text":"Это **механизм уведомления**, построенный на базе делегатов","x":-895,"y":303,"width":330,"height":100}, {"id":"0e6f4c0d8fd8ec91","type":"text","text":"Делегат – это тип данных, который описывает «шаблон» метода\n```c#\n// Объявляем тип делегата (шаблон: возвращает void, принимает string)\npublic delegate void MyDelegate(string message);\n\n// Создаем экземпляр делегата и \"кладем\" в него метод\nMyDelegate del = new MyDelegate(ShowMessage);\n\n// Вызываем делегат (выполнится метод ShowMessage)\ndel(\"Привет, мир!\"); \n\n```","x":-1700,"y":260,"width":720,"height":400}, {"id":"37f20e7799feaeab","type":"text","text":"Cобытия![[Pasted image 20260115044601.png]]","x":-500,"y":260,"width":260,"height":286,"color":"1"}, {"id":"e9f0e401fd53092a","type":"text","text":"Интерфейсы — это строгие соглашения. Если класс «подписывает» этот контракт (реализует интерфейс), он обязан реализовать все описанные в нем методы.![[Pasted image 20260115021057.png]]","x":40,"y":178,"width":440,"height":450,"color":"1"}, {"id":"d2c60e0067015cd4","type":"text","text":"Language Integrated Query","x":238,"y":-89,"width":299,"height":50,"color":"1"}, {"id":"7b700fee6d2a9f10","type":"text","text":"Простота работы с XML![[Pasted image 20260115044937.png]]","x":660,"y":-218,"width":280,"height":309}, {"id":"3af9031ad7b8adbd","type":"text","text":"Продвинутое программирование (Интерфейсы, массивы и т.д.)![[Pasted image 20260114110858.png]]","x":-260,"y":-294,"width":380,"height":460}, {"id":"11221ded74128ba9","type":"text","text":"Списки![[Pasted image 20260115042052.png]]","x":203,"y":-670,"width":554,"height":240}, {"id":"461d60ae357b02d0","type":"text","text":"```c#\ntry\n{\n\t// код\n}\ncatch\n{\n\t// произошла ошибка в коде\n}\nfinally\n{\n\t// код выполнится вне зависимости от наличия исключения\n}\n```","x":-1740,"y":-570,"width":700,"height":400} ], "edges":[ {"id":"13ed16f7e59af095","fromNode":"3af9031ad7b8adbd","fromSide":"bottom","toNode":"e9f0e401fd53092a","toSide":"left","color":"1"}, {"id":"49ad0f4b0a7612a7","fromNode":"3af9031ad7b8adbd","fromSide":"top","toNode":"6855188a567e4fea","toSide":"bottom","color":"1"}, {"id":"3de3312e2f665f55","fromNode":"6855188a567e4fea","fromSide":"left","toNode":"52e9a89d728271ad","toSide":"right"}, {"id":"66021fdfd94a9804","fromNode":"6855188a567e4fea","fromSide":"top","toNode":"a3e125b7bc2c146c","toSide":"bottom"}, {"id":"a38a5420cf3dc1e8","fromNode":"a3e125b7bc2c146c","fromSide":"top","toNode":"11221ded74128ba9","toSide":"top"}, {"id":"ae472591b731e8d6","fromNode":"a3e125b7bc2c146c","fromSide":"top","toNode":"bd3e55962e8452a4","toSide":"bottom"}, {"id":"eafe29c0094eb7bf","fromNode":"3af9031ad7b8adbd","fromSide":"left","toNode":"a8d55659c3a5e513","toSide":"right","color":"1"}, {"id":"ca1a2707a8141501","fromNode":"a8d55659c3a5e513","fromSide":"top","toNode":"624b5344d0b50da8","toSide":"right"}, {"id":"e083d38ff604b3b2","fromNode":"624b5344d0b50da8","fromSide":"left","toNode":"461d60ae357b02d0","toSide":"right"}, {"id":"0df37dc344a7bc36","fromNode":"461d60ae357b02d0","fromSide":"bottom","toNode":"51663ccd0fda35ab","toSide":"top"}, {"id":"4f999ee6e58de5f7","fromNode":"461d60ae357b02d0","fromSide":"bottom","toNode":"0e5f1adf1b3c3e44","toSide":"top"}, {"id":"31a1e7d2a7b9dc07","fromNode":"461d60ae357b02d0","fromSide":"bottom","toNode":"a80659dde7c1a50a","toSide":"top"}, {"id":"61d53a6cdfe44c25","fromNode":"3af9031ad7b8adbd","fromSide":"bottom","toNode":"37f20e7799feaeab","toSide":"right","color":"1"}, {"id":"891ce71dfe642f25","fromNode":"37f20e7799feaeab","fromSide":"left","toNode":"dee746fe481f2ac9","toSide":"right"}, {"id":"7c37d70d1a5a143e","fromNode":"dee746fe481f2ac9","fromSide":"left","toNode":"0e6f4c0d8fd8ec91","toSide":"right"}, {"id":"d70ba8d1074467c4","fromNode":"3af9031ad7b8adbd","fromSide":"right","toNode":"d2c60e0067015cd4","toSide":"left","color":"1"}, {"id":"f12dbf6948888870","fromNode":"d2c60e0067015cd4","fromSide":"right","toNode":"7b700fee6d2a9f10","toSide":"left"}, {"id":"c39e8554ad889adb","fromNode":"d2c60e0067015cd4","fromSide":"top","toNode":"6855188a567e4fea","toSide":"right","color":"4","label":"Позволяет работать как с базами данных"} ] }