зачем вам нужна консоль.WriteLine(), чтобы вызвать метод? (Начинающий)

#c#

Вопрос:

Итак, в основном, во время учебы меня попросили создать метод, который принимает два аргумента и возвращает ответ. так что я сделал вот что:

 using System.IO;
using System;

class Program
{
    static void Main()
    {
      sum(5,3);
    }
    
    static int sum(int x, int y){
        return x y;
    }
}

 

Но когда я попросил их проверить это, они сказали, что это неправильно и что правильный ответ должен быть таким:

 using System.IO;
using System;

class Program
{
    static void Main()
    {
      Console.WriteLine(sum(5,3));
    }
    
    static int sum(int x, int y){
        return x y;
    }
}
 

Поэтому я хотел понять, почему мы должны использовать «Консоль.WriteLine ()», чтобы вывести значение, потому что я помню из предыдущего урока, что метод можно вызвать, просто используя имя метода, за которым следует скобка, как и в первом блоке кода.

Комментарии:

1. И то и другое верно: вы можете прекрасно вызвать метод с помощью just sum(5,3) , но вы не увидите ничего напечатанного на консоли. Если вы хотите увидеть результат, вы должны это сделать Console.WriteLine .

2. Приставка. Функция WriteLine() используется для печати результата в окне консоли, чтобы пользователь мог видеть результат. Если вы не будете использовать это, то как конечный пользователь увидит результат метода sum.

3. То, что вы сделали, было абсолютно правильно. Вы просто не видите результата.

4. возврат != печать в консоль. return = возвращаемое значение вызывающему методу.

5. Вы можете вызвать метод, который возвращает что-то, что не является void методом, без использования возвращаемого значения. Но нет особого смысла вычислять значение, если вы ничего с ним не делаете. Console.WriteLine(sum(5,3)) выводит результат на консоль, поэтому он использует выражение.

Ответ №1:

Ваше решение правильное. Однако ваша программа бесполезна. Чтобы программа была полезной, она должна что-то отображать пользователю или иметь какой-то ощутимый побочный эффект при ее выполнении.

Хотя ваша программа действительно вычисляет сумму двух чисел, она ничего не делает с этой информацией. Метод, выполняющий вычисления, возвращает результат, но как только выполнение возвращается к Main() методу, вы не предоставили никаких инструкций относительно того, что должно произойти дальше.

Вот тут Console.WriteLine() -то все и начинается. Вам не нужно Console.Writeline() вызывать метод. Console.Writeline() это предопределенный метод, который принимает некоторые входные данные и записывает их в консоль. Другими словами, это делает что — то видимым для пользователя. Итак, причина, по которой вас просят использовать его, заключается в том, что они хотят, чтобы результат был виден в пользовательском интерфейсе, а поскольку это консольное приложение, пользовательский интерфейс-это консоль.

Ответ №2:

Вам не нужна консоль.Запись для вызова метода, но для печати значения. Я изменил ваш код, и, как вы видите, я вызываю метод без консоли.Запись и использование консоли.Пишите только для печати результата.

 using System.IO;
using System;

class Program
{
    static void Main()
    {
        int result = sum(5, 3);
        Console.WriteLine(result);
    }

    static int sum(int x, int y)
    {
        return x   y;
    }
}