Phương thức mà trả về struct trong C#



Bài tập C#: Phương thức mà trả về struct

Viết chương trình C# để triển khai một phương thức mà trả về struct.

Chương trình C#

Dưới đây là chương trình C# minh họa lời giải cho bài tập viết một phương thức mà trả về struct trong C#:

using System;namespace VietJackCsharp
{
    //khai bao truct
    public struct sampStru
    {
        private double val;
        public double Value
        {
            get { return val; }
            set { val = value; }
        }
        public double Read()
        {
            return double.Parse(Console.ReadLine());
        }
    }    //khai bao truct
    public struct Rectangle
    {
        sampStru ln;
        sampStru ht;        public sampStru Length
        {
            get { return ln; }
            set { ln = value; }
        }
        public sampStru Breadth
        {
            get { return ht; }
            set { ht = value; }
        }
        public void newRectangle()
        {
            sampStru rct = new sampStru();            Console.WriteLine("\nNhap kich thuoc cua hinh chu nhat: ");
            ln = recLength();
            Console.Write("Nhap chieu rong: ");
            ht.Value = rct.Read();
        }
        public sampStru recLength()
        {
            sampStru rct = new sampStru();            Console.Write("Nhap chieu dai: ");
            rct.Value = rct.Read();
            return rct;
        }
    }
    public class TestCsharp
    {
        static void Main()
        {
            Console.Write("\nViet mot phuong thuc ma tra ve Struct trong C#:\n");
            Console.Write("-------------------------------------------------\n");
            var Rec = new Rectangle();
            Rec.newRectangle();
            Console.WriteLine();
            Console.WriteLine("Chu vi va dien tich hinh chu nhat:");
            Console.WriteLine("Chieu dai:  {0}", Rec.Length.Value);
            Console.WriteLine("Chieu rong: {0}", Rec.Breadth.Value);
            Console.WriteLine("Chu vi:     {0}", (Rec.Length.Value + Rec.Breadth.Value) * 2);
            Console.WriteLine("Dien tich:  {0}\n", Rec.Length.Value * Rec.Breadth.Value);            Console.ReadKey();
        }
    }  
}

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Kết quả chương trình C#

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Phương thức mà trả về struct trong C#
bai-tap-struct-trong-csharp.jsp