c# - 了解 C# 中的返回值

标签 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 ();
        }

当然我可能是错的,但我相信第一行代码中的“void”关键字意味着函数代码结果不会返回值。

我想了解的是 - 该函数计算结果。它根据结果分发文本(例如:“你赢了!”等)。函数的结果不被认为是一个值吗?

按照我自己(新手)的逻辑,我会想到以下两种情况之一:

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

我希望这是有道理的。我认为理解这个概念将使我将来更容易编写函数而无需再次猜测返回值。如果有人有一个实际返回值的函数示例,也将不胜感激。

最佳答案

先了解一些术语:C# 没有函数,它有方法。

返回值给方法的调用者一些值(value)。它们与该方法中执行的语句无关,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

关于c# - 了解 C# 中的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22550531/

相关文章:

c# - 从节点列表中获取节点列表 c# .net

c# - "same"用户自定义转换存在两次时没有编译错误

oracle - 在sql plus中执行功能

javascript - 我如何调用jquery变量?

c# - 如何安装 Microsoft.Silverlight.Testing?

c# - Unity C# - 当同时拥有 OnTriggerExit 和 OnTriggerEnter 时,仅调用 OnTriggerExit

c# - 收听键盘快捷键 (c#)

c - int main(void) 函数是否返回 0?

function - golang返回多个值问题

c - 如何在 C 中缩写全名?