16 October 2013

[C#] Return หลายค่าใน Method เดียว

[ย้ายบทความจาก Gushared.com]
    หลายๆคนที่เขียนโปรแกรม อาจจะเคยต้องการให้เมธอด return ค่ากลับมาให้เรามากกว่าหนึ่งค่าจากเมธอดเดียว บางคนอาจจะเคยใช้ out แล้ว แต่บางคนอาจจะยังไม่รู้จัก เอาแบบไม่อ้างหลักการอะไรมากมายนะครับ เหตุผลที่ผมจะใช้ out ก็ต่อเมื่อต้องการให้เมธอดนั้น return ค่ากลับมามากกว่าหนึ่งค่าโดยที่ไม่ต้องใช้ object หรือ struct โดยสามารถศึกษาได้ตามตัวอย่างโค๊ดง่ายๆด้านล่างนี้ครับ

    class Program
    {
        static void Main(string[] args)
        {
            double value1 = 10;
            double value2 = 5;
            double plus, minus, multiple, divide;

            OutMethod(value1, value2, out plus, out minus, out multiple, out divide);  //Call method OutMethod

            Console.WriteLine("Test out method by GuShared.com");
            Console.WriteLine(value1 + " + " + value2 + " = " + plus);
            Console.WriteLine(value1 + " - " + value2 + " = " + minus);
            Console.WriteLine(value1 + " * " + value2 + " = " + multiple);
            Console.WriteLine(value1 + " / " + value2 + " = " + divide);
            Console.Read();

        }

        static void OutMethod(double v1, double v2, out double plus, out double minus, out double mul, out double div)
        {
            plus = v1 + v2;
            minus = v1 - v2;
            mul = v1 * v2;
            div = v1 / v2;
        }
    }

ผลลัพท์