了解C#中的返回值

Nic*_*nes 4 c# function

所以这个问题来自之前的一篇文章,我在试图完全了解更复杂的C#之前,我正试图完全理解.

我的问题具体涉及函数的返回值.

请考虑以下功能代码:

public static void DisplayResult(int PlayerTotal, int DealerTotal){
        if (PlayerTotal > DealerTotal) {
            Console.WriteLine ("You Win!");
            Console.ReadLine ();
        } 

        else if (DealerTotal > PlayerTotal) {
            Console.WriteLine ("Dealer Wins!");
            Console.ReadLine ();
        } else {
            Console.WriteLine ("It is a Draw!");
            Console.ReadLine ();
        }
Run Code Online (Sandbox Code Playgroud)

我当然错了,但我相信第一行代码中的"void"关键字意味着函数代码结果不返回值.

我想要了解的是 - 函数计算结果.它根据结果分发文本(例如:"你赢了!"等).该函数的结果是否被视为值?

通过我自己的(新手)逻辑,我会想到以下两件事之一:

  1. 此函数的返回值是一个字符串,因为它是计算结果的输出.
  2. 此函数的返回值是int,因为它计算int结果.

我希望这是有道理的.我认为理解这个概念将使我以后更容易编写函数而无需再次猜测返回值.如果有人有一个实际上会返回一个值的函数的例子,那么也会受到赞赏.

Nat*_*nSr 5

首先是一些术语:C#没有函数,它有方法.

返回值为方法的调用者提供了一些值.它们与该方法中执行的语句无关,除了该return语句.方法的签名指示该方法返回的类型(如果有).

public void NoReturnValue()
{
    // It doesn't matter what happens in here; the caller won't get a return value!
}

public int IntReturnValue()
{
    // Tons of code here, or none; it doesn't matter
    return 0;
}

...

NoReturnValue(); // Can't use the return value because there is none!
int i = IntReturnValue(); // The method says it returns int, so the compiler likes this
Run Code Online (Sandbox Code Playgroud)