Проблема вашего кода в том, что вы вызываете метод ResultOfNums не передав в него нужных аргументов (длину и ширину).
Метод Nums(), который должен получать эти значения у пользователя - нигде не вызывается.
Чтобы код работал правильно - должна быть правильная последовательность выполнения:
- Запуск программы из точки входа (
Main).
- Сбор ввода пользователя (
Nums).
- Вычисление результата (
ResultOfNums).
В вашем случае, чтобы получить в методе ResultOfNums нужные значения - вы, во-первых, сперва должны вызывать метод ввода.
public static void Main(string[] args)
{
Nums();
}
Теперь, при запуске программы - вы увидите сообщения о вводе высоты и ширины из метода Nums().
Затем, когда данные будут введены - вы должны вызвать метод ResultOfNums, указав ему как аргументы - введённые числа.
Сделать это удобнее всего из метода Nums():
public static void Nums()
{
Console.WriteLine("Введите высоту");
string num1 = Console.ReadLine();
int height = Convert.ToInt32(num1);
Console.WriteLine("Введите ширину");
string num2 = Console.ReadLine();
int width = Convert.ToInt32(num2);
var area = ResultOfNums(height, width)
}
Что даст итоговый код вида:
namespace MyNamespace
{
class Calc
{
public static void Main(string[] args)
{
// Вызываем диалог с пользователем
Nums();
}
public static void Nums()
{
// Определяем значение высоты
Console.WriteLine("Введите высоту");
string num1 = Console.ReadLine();
int height = Convert.ToInt32(num1);
// Определяем значение ширины
Console.WriteLine("Введите ширину");
string num2 = Console.ReadLine();
int width = Convert.ToInt32(num2);
// Имея значения от пользователя - вызываем подсчёт результата.
// Обратите внимание - этот метод будет вызван только после того,
// как была выполнена прошлая часть кода
var area = ResultOfNums(height, width);
}
public static int ResultOfNums(int height, int width)
{
int area = height * width;
Console.WriteLine(area);
return area;
}
}
}
ResultOfNums(что-то), то вот это "что-то" должно быть обязательно задано при вызове, вы в методеMainвызвали, но обязательные аргументы не передали. Теперь касательно переменных, тут все просто, вот что создается внутри{ ... }, то и используется только внутри, что задается за пределами, то и используется за пределами. У вас переменные создаются в методеNums, они локальные, доступны только в этом методе, если хотите их за пределами использовать, вынесите их за{...}. Ну и на тему: https://ru.stackoverflow.com/a/835223/220553 – EvgeniyZ May 20 '23 at 16:39