Господа, доброго времени суток. Я закомментировал каждую строку, чтобы показать как я ее понимаю, исправте пожалуйста если я в чем то ошибся. Прикрепляю скрин задания на всякий случай.
class Calculator { // создание класса
public double CalcFraction1 (double x, double y) { // создание метода
var numerator = Math.Abs(x) - Math.Abs(y); // вычисляем числитель
var denominator = (1 + Math.Abs(x) * Math.Abs(y)); // вычисляем знаменатель
if (denominator == 0) { // если знаменатель 0, то обрабатываем исключение
throw new DivideByZeroException();
}
return numerator / denominator; // возвращаем результат деления
}
public static double ReadNumber () {
double value; // тип переменной
while (!double.TryParse(Console.ReadLine(), out value)) { } // ВОТ ТУТ ВООБЩЕ НЕ ПОНЯЛ
return value; // возвращаем значение переменной
}
void Main () {
var calculator = new Calculator(); // создаем экземпляр класса Calculator
Console.WriteLine("Please, enter two numbers"); // введите два числа
var x = ReadNumber();
var y = ReadNumber();
try {
Console.WriteLine($"W = {calculator.CalcFraction1(x, y)}"); // ВОТ ТУТ ВООБЩЕ НЕ ПОНЯЛ
}
catch (DivideByZeroException) {
Console.WriteLine("Denominator is zero"); // Если возникло исключение, то выводим на экран
}
}
}
while (!double.TryParse(Console.ReadLine(), out value)) { } // ВОТ ТУТ ВООБЩЕ НЕ ПОНЯЛ
тоже что и
while (double.TryParse(Console.ReadLine(), out value) == false) { }
пока не считает значение из консоли типа double.
Метод Double.TryParse Преобразует строковое представление числа в эквивалентное ему число двойной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование. https://msdn.microsoft.com/ru-ru/library/system.double.tryparse(v=vs.110).aspx
Также присваивает полученное значение out value
public static bool TryParse(
string s,
out double result
)
s
Type: System.String
Строка, содержащая преобразуемое число.
result
Type: System.Double
При возврате этот метод содержит число двойной точности с плавающей запятой, эквивалентное параметру s, если преобразование завершилось успешно, или нуль, если оно завершилось неудачно. Преобразование завершается неудачно, если значение параметра s равно null или String.Empty, не является числом допустимого формата или представляет число меньше MinValue или больше MaxValue. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в объекте result, будет перезаписано.
https://msdn.microsoft.com/ru-ru/library/994c0zb1(v=vs.110).aspx
Console.WriteLine($"W = {calculator.CalcFraction1(x, y)}");
выполняет функцию calculator.CalcFraction1(x, y)
и выводит в консоль (return numerator / denominator;
)
Интерполяция строк
https://metanit.com/sharp/tutorial/7.5.php
Начиная с версии языка C# 6.0 (Visual Studio 2015) была добавлена такая функциональность, как интерполяция строк. Эта функциональность призвана заменить форматирование строк. Так, перепишем пример с выводом значений свойств объекта Person:
Person person = new Person { Name = "Tom", Age = 23 };
Console.WriteLine($"Имя: {person.Name} Возраст: {person.Age}");
Знак доллара перед строкой указывает, что будет осуществляться интерполяция строк. Внутри строки опять же используются плейсхолдеры {...}, только внутри фигурных скобок уже можно напрямую писать те выражения, которые мы хотим вывести.
Интерполяция по сути представляет более лаконичное форматирование. При этом внутри фигурных скобок мы можем указывать не только свойства, но и различные выражения языка C#:
int x = 8;
int y = 7;
string result = $"{x} + {y} = {x + y}";
Console.WriteLine(result); // 8 + 7 = 15
Уже внутри строки можно применять форматирование. В этом случае мы можем применять все те же описатели, что и в методе Format. Например, выведем номер телефона в формате +x xxx-xxx-xx-xx:
long number = 19876543210;
Console.WriteLine($"{number:+# ### ### ## ##}"); // +1 987 654 32 10
Добавляем пространство до и после форматируемого вывода:
Console.WriteLine($"Имя: {person.Name, -5} Возраст: {person.Age}"); // пробелы после
Console.WriteLine($"Имя: {person.Name, 5} Возраст: {person.Age}"); // пробелы до
Вывод:
Имя: Том Возраст: 23
Имя: Том Возраст: 23
Добавлено
Вот пример работы (у меня работает)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Например, пользователь нажимает на кнопку и вместо перехода на новую страницу, появляется всплывающее окно с этой формой
Добрый день, у меня стоит такая задача : найти все png файлы в диске и переименовать их, как я сделал :