C# 中使用 out 参数和 return 的区别

我正在学习 C#,并且对它完全陌生,所以如果这看起来是一个非常简单的问题,我很抱歉。


我刚刚观看了一个教程,解释了如何使用out参数从方法返回多个值。但是,我不太明白它在实践中是如何运作的。他们给出的例子是:


using System;


namespace UsingOut

{

    class Program

    {

        static void Main(string[] args)

        {

            string statement = "GARRRR";

            string murmur = Whisper(statement, out bool marker);

            Console.WriteLine(murmur);

        }


        static string Whisper(string phrase, out bool wasWhisperCalled)

        {

            wasWhisperCalled = true;

            return phrase.ToLower();

        }

    }

}

但是,我不明白这是如何返回多个值的?看起来只是返回字符串?


请有人给我一个非常简单的解释,说明何时使用out以及它的实际作用?


慕的地10843
浏览 143回答 1
1回答

泛舟湖上清波郎朗

如果您了解 C++,那么不知道如何,但它与 C++ 非常相似,您可以将参数传递给函数作为引用。因此,函数确实只返回一个字符串,但它也会设置 wasWhisperCalled 的值。因此,如果 wasWhisperCalled 在函数调用之前为 false,则在函数调用之后它将设置为 true。希望这能进一步澄清这一点。
打开App,查看更多内容
随时随地看视频慕课网APP