Класс Process — запуск сторонних приложений в C#

Класс Process предоставляет доступ к локальным и удаленным процессам, а также позволяет запускать и останавливать локальные системные процессы. Этот класс удобно использовать в том случае, если Вам необходимо запустить какой-либо сторонний процесс (приложение) и получить от этого приложения данные.

Читать далее

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, то получим ошибку.

Не удается неявно преобразовать тип «double» в «int». Существует явное преобразование (возможно, пропущено приведение типов).

или

Не удается неявно преобразовать тип «bool» в «int».

Во-первых, потому что типы 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#.

Читать далее