using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int r = Mul2(40, 54);
Console.WriteLine();
Console.ReadLine();
}
static int Mul2(int someInt, int someInt2)
{
Console.WriteLine("Method has become to work");
Console.WriteLine(someInt);
Console.WriteLine(someInt2);
int Result = (someInt * someInt2);
Result = Result * Result;
return Result;
Console.WriteLine("Method end!");
}
}
}
- 81,538
- 19
3 Answers
В методе main:
1)Переменной r вы возвращаете результат работы метода Mul2.
2)Ничего не записываете на консоль методом Console.WriteLine();
3)Ожидаете ввода строки.
В методе Mul2:
1)Сообщается, что метод начал работу, выводится на экран первый и второй параметры;
2)В новую переменную Result записываем перемножение первого и второго числа;
3)Дальше Result присваивается перемножение самой на себя;
4)Возвращаем значения переменной Result.
Выскакивает ошибка (или предупреждение?), что-то похожее на statement not reachable
Ошибка (или предупреждение?) из-за того, что метод завершил уже свою работу (оператор return "завершает" работу метода), а вы пытаетесь еще что-то там делать (в данном случае написать в консоль, что метод завершил работу).
Дабы метод заработал и строка Console.WriteLine() стала "досягаемой" поднимите ее просто над оператором return.
- 2,995
-
32)Ничего не записываете на консоль методом Console.WriteLine(); - а как-же возврат каретки ? :-) – Evgenii Izhboldin Nov 08 '16 at 09:32
-
Запускается программа и автоматически вызывается метод Main, который объявляет целочисленную переменную r и присваивает ей результат работы метода Mul2.
Т.е. из Main вызываем Mul2 с параметрами 40 и 54, и результат записываем в переменную r.
При вызове метода Mul2выводится сообщение что начали работать, выводим первую переданную переменную (40) и вторую (54).
В целочисленную переменную Result записываем произведение 40 х 54 (3780).
После этого в переменную Result записываем предыдущее значение этой же переменной, умноженное само на себя (возводим в квадрат).
Т.е. Result будет равен Result = 3780 х 3780 = 14288400.
Теперь из метода Mul2 возвращаем значение это 14288400 в вызвавший его метод 'Main' где значение 14288400 присваевается переменной r.
Теперь выводим пустую строку, и жмем нажатия Enter. Завершаем работу программы.
Вывод строки "Method end!" выполнен не будет, так как команда для вывода этого текста написана после оператора return, который мало того, что возвращает результат в метод Main, так еще и завершит работу метода 'Mul2'.
- 2,756
someInt получило значение 40, someInt2 - 54. Затем вы подсчитали result путем перемножения 40 и 54, затем перемножили result само на себя и функция вернула это значение, которая получила переменная r в Main.
- 515
-
И еще: строка "Console.WriteLine("Method end!");" - не досягаема. Функция вернула новый Result. – Dmytro Nov 08 '16 at 09:27
-
А почему строка "Console.WriteLine("Method end!");" - не досягаема? – user7130621 Nov 08 '16 at 09:30
-
-
=. Обработка кода идёт построчно. – PinkTux Nov 08 '16 at 09:29