Основы языков и алгоритмы — страница 10
C#, LINQ, типы, коллекции, рекурсия, регулярные выражения, отладка, структуры данных и сложность
Материалы
- Появление LINQ
Цели создания языка интегрированных запросов LINQ, несколько простых примеров
- Преобразования типов
Описание общих принципов преобразования типов в языке C#, автоматическое преобразование типов, приведение несовместимых типов
- Прерывание потока
Процесс прерывание и возобновление потока за счет использования методов Abort() и ResetAbort()
- Приложение FileProperties
Пример программы, отображающей информацию о файлах и папках
- Применение WCF
Способы увеличения производительности веб-служб WCF за счет использования пороговых значений, асинхронных операций, кеширования и т.д.
- Проблемы многопоточности
Описание одной из главных проблем при создании многопоточных приложений - состязаний за ресурсы нескольких потоков
- Проверка достоверности XML
Описание механизма проверки достоверности данных в XML используя стандартные методы Validate класса Extensions из LINQ to XML
- Производительность при запуске приложения
Описание различных факторов, влияющих на скорость запуска приложений .NET
- Промежуточный язык CIL
Понятие, свойства и особенности языка IL (CIL, MSIL), утилита ildasm.exe
- Простая программа на C#
- Пространство имен System.IO
Описание классов содержащихся в пространстве имен System.IO, описание класса FileSystemInfo предоставляющего общие сведения о каталогах и файлах
- Профилировщики баз данных и ввода/вывода
Обзор профилировщиков для оптимизации работы с базами данных, параллельными вычислениями и операциями ввода/вывода данных в приложениях .NET
- Профилировщики времени
Описание дискретного и инструментированного профилировщиков времени среды Visual Studio 2012
- Профилировщики памяти
Примеры использования различных профилировщиков памяти (Visual Studio, CLR Profiler, ANTS, SciTech .NET) позволяющих обнаруживать утечки памяти в приложениях .NET
- Пул потоков CLR
Использование пула потоков CLR как простого способа создания многопоточных приложений, ограничения пулов потоков
- Работа с COM-объектами
Описание взаимодействия управляемых приложений .NET с COM-объектами и способы оптимизации этого процесса
- Работа с Visual Studio
Описание возможностей, характеристик и преимуществ Visual Studio
- Работа с задачами
Описание некоторых полезных манипуляций с задачами: создание задач с использованием класса TaskFactory, применение лямбда-выражения в качестве задачи, создание продолжения задачи и возврат значения из задачи
- Работа с потоками
Основные особенности работы с потоками, связанные с созданием фоновых потоков, настройкой приоритетов потоков
- Работа со сборщиком мусора
Описание методов класса GC и некоторых интерфейсов, которые позволяют програмно взаимодействовать со сборщиком мусора в приложениях .NET
- Разновидности сборщиков мусора
Описание сборщиков мусора, работающих на параллельных и синхронных потоках; обзор проблем производительности, связанных с этими сборщиками
- Расширение кода
Полезные советы по окружению и расширению кода в среде Visual Studio 2010
- Расширения языка C++/CLI
Краткий обзор C++/CLI и библиотеки marshal_as в контексте обсуждения оптимизации неуправляемого кода в приложениях .NET
- Реализация интерфейса IComparable
Реализация обобщенной и необобщенной форм интерфейса IComparable