Перейти к содержанию

Как сделать калькулятор [C#]

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


В этой статье, мы рассмотрим пример простого консольного калькулятора на C#, который поддерживает сложение, вычитание, умножение и деление, а так же более сложного на основе CSharp Scripting.

Определим следующий код:

Когда вы запустите эту программу, она предложит вам ввести два числа и операцию, которую вы хотите выполнить. Затем программа выполнит вычисления и отобразит результат. Если вы попытаетесь разделить на ноль, программа не завершится, а выдаст сообщение об ошибке.

Microsoft CodeAnalysis CSharp Scripting

В языке C# есть C# Scripting, он похож на eval из других языков, он  представляет собой функцию, которая оценивает строку, как если бы она была выражением, и возвращает результат; 

Рассмотрим пример «калькулятора», написанного в одну строку:

Не забудьте подключить следующие пространства имен:

В методе Main объявляется строковая переменная expression и инициализируется математическим выражением 2 * (6 + 7) — 10 / 2. Это выражение включает основные арифметические операторы: * для умножения, + для сложения, — для вычитания и / для деления. Оно также включает круглые скобки для контроля порядка операций.

Затем вызывается метод CSharpScript.EvaluateAsync, параметром которого является строка выражения. Этот метод принимает на вход строку, содержащую выражение C#, компилирует ее и оценивает во время выполнения.

Метод EvaluateAsync возвращает задачу, которая разрешается в результат выражения, который в данном случае является двойным значением. Ключевое слово await используется для асинхронного ожидания результата вычисления задачи.

Наконец, результат выводится на консоль с помощью метода Console.WriteLine. В данном случае будет выведено 21, что является результатом математического выражения 2 * (6 + 7) — 10 / 2.

Используя данную библиотеку, вы можете импортировать все статические методы других классов, для дальнейшего использования. Рассмотрим пример с классом Math:

Метод ScriptOptions.Default.WithImports(«System.Math») используется для указания того, что пространство имен System.Math должно быть импортировано, чтобы метод Sqrt можно было использовать в выражении codeToEval.

Я надеюсь, что вам понравилось читать эту статью, и она оказалась легкой для понимания. Пожалуйста, дайте мне знать, если у вас есть какие-либо комментарии или исправления.

Так же вам может быть интересна предыдущая статья — Как сделать скриншот экрана.


Вы хотите научится писать код на языке программирования C#?

Создавать различные информационные системы, состоящие из сайтов, мобильных клиентов, десктопных приложений, телеграмм-ботов и т.д.

Переходите к нам на страницу Dijix и ознакомьтесь с условиями обучения, мы специализируемся только на индивидуальных занятиях, как для начинающих, так и для более продвинутых программистов. Вы можете взять как одно занятие для проработки интересующего Вас вопроса, так и несколько, для более плотной работы. Благодаря личному кабинету, каждый студент повысит качество своего обучения, в вашем распоряжении:

  • Доступ к пройденному материалу
  • Тематические статьи
  • Библиотека книг
  • Онлайн тестирование
  • Общение в закрытых группах

https://dijix.com.ua

Живи в своем мире, программируй в нашем.


 

Опубликовано в рубрикеКак сделать на C#?
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x