Класс Process
предоставляет доступ к локальным и удаленным процессам, а также позволяет запускать и останавливать локальные системные процессы. Этот класс удобно использовать в том случае, если Вам необходимо запустить какой-либо сторонний процесс (приложение) и получить от этого приложения данные.
Глава 23. Дополнительные классы и структуры и возможности .NET
Dynamic Language Runtime. Ключевое слово dynamic
Несмотря на то, что C# — это язык со статической типизацией, начиная с .NET 4, благодаря появлению в составе .NET среды Dynamic Language Runtime (DLR), в язык были добавлены некоторые возможности, присущие языкам с динамической типизацией, таких как JavaScript, IronPython и т.д.
Преобразование типов данных с помощью класса Convert
В программировании довольно часто происходит преобразование одних типов данных в другие. Более того, встречаются ситуации, когда преобразование происходит автоматически, например, при работе с базовыми типами данных. В приведенном ниже фрагменте когда мы не проводим никаких операций преобразования типов данных и, при этом, не получим ошибок и предупреждений:
int i = 10; double d = i;
В данном случае тип double
имеет более широкий диапазон представления чисел, чем int
, поэтому происходит неявное преобразование — значение переменной i
преобразуется в тип double
и, затем, присваивается переменной d
. Если же мы попытаемся сделать наоборот — присвоить переменной типа int
значение double
, или вообще значение типа bool
, то получим ошибку.
или
Во-первых, потому что типы bool
и int
не совместимы, а, во-вторых, double
, как мы знаем, имеет более широкий диапазон представления чисел. Конечно, можно решить эти проблемы с преобразованием вручную, а можно пойти другим путем — использовать для преобразования класс Convert
.
Класс Math для математических вычислений в C#
Статический класс Math
содержит ряд методов и констант для выполнения математических, тригонометрических, логарифмических и других операций. Так как класс статический, то и все его методы также являются статическими, т.е. вызывать эти методы можно без создания объекта типа Math
. Рассмотрим основные методы этого класса.
Дополнительные классы и структуры .NET. BigInteger
Все широко известные целочисленные типы данных в .NET имеют свои диапазоны значений, которые мы можем получить, используя свойства MaxValue
или MinValue
. Неизменяемы тип данных BigInteger
представляет собой целое число со знаком, которое, в теории, не имеет верхних и нижних границ. Чтобы воспользоваться этим типом данных, необходимо подключить пространство имен System.Numerics
.
Структуры (struct) в C#
Структура (struct
) в C# — это пользовательский тип данных, который используется наряду с классами и может содержать какие-либо данные и методы. Структурами также являются такие типы данных как int
, double
и т.д. Одно из отличий структуры от класса заключается в том, что структура — это тип значений, а класс — это ссылочный тип.
Как измерить время выполнения операции в C#
При разработке различных программ иногда бывает необходимо измерить точное время какой-либо операции, например, узнать сколько времени требуется на загрузку данных из файла, запись в базу данных и так далее. Сегодня мы рассмотрим то, как измерить время выполнения операции в C#, используя стандартные средства и возможности языка.
Кортежи C#
Кортеж — это относительно новый тип данных C# (появился в C# 7.0), который предоставляет краткий синтаксис для группирования нескольких элементов данных в упрощенную структуру. Кортежи позволяют сгруппировать и предоставить пользователю данные различных типов. Сегодня поговорим о том, как можно использовать кортежи в своих приложениях C#.