Mảng struct trong C#



Bài tập C#: Sử dụng mảng struct

Phát triển bài tập tạo một Book Struct, hay tạo NhanVien Struct, giả sử bây giờ chúng cần lưu giữ thông tin của hàng ngàn cuốn sách hay thông tin của hàng trăm nhân viên, thì bây giờ chúng ta làm như thế nào. Vấn đề này sẽ được giải quyết bởi sử dụng mảng struct trong C#.

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 sử dụng mảng struct trong C#:

using System;namespace VietJackCsharp
{
    public class TestCsharp
    {
        //khai bao mot struct
        struct point
        {
            //toa do cua diem
            public short x;
            public short y;            //mau cua diem
            public byte r;
            public byte g;
            public byte b;
        }        public static void Main()
        {
            point[] p = new point[1000];            Console.Write("Vi du minh hoa mang struct trong C#:\n");
            Console.Write("-----------------------------------------\n");            Console.Write("Nhap toa do X cho diem dau tien: ");
            p[0].x = Convert.ToInt16(Console.ReadLine());            Console.Write("\nNhap toa do Y cho diem dau tien: ");
            p[0].y = Convert.ToInt16(Console.ReadLine());            Console.Write("\nNhap mau do cho diem dau tien: ");
            p[0].r = Convert.ToByte(Console.ReadLine());            Console.Write("\nNhap mau xanh la cay cho diem dau tien: ");
            p[0].g = Convert.ToByte(Console.ReadLine());            Console.Write("\nNhap mau xanh da troi cho diem dau tien: ");
            p[0].b = Convert.ToByte(Console.ReadLine());
            Console.Write("\nNhap toa do X cho diem thu hai: ");
            p[1].x = Convert.ToInt16(Console.ReadLine());            Console.Write("\nNhap toa do Y cho diem thu hai: ");
            p[1].y = Convert.ToInt16(Console.ReadLine());            Console.Write("\nNhap mau do cho diem thu hai: ");
            p[1].r = Convert.ToByte(Console.ReadLine());            Console.Write("\nNhap mau xanh la cay cho diem thu hai: ");
            p[1].g = Convert.ToByte(Console.ReadLine());            Console.Write("\nNhap mau xanh da troi cho diem thu hai: ");
            p[1].b = Convert.ToByte(Console.ReadLine());            //... ban co the nhap n diem            Console.WriteLine(
                "Diem thu nhat tai vi tri ({0},{1}), co mau ({2},{3},{4})",
                p[0].x, p[0].y, p[0].r, p[0].g, p[0].b);            Console.WriteLine(
                "Diem thu hai tai vi tri ({0},{1}), co mau ({2},{3},{4})",
                p[1].x, p[1].y, p[1].r, p[1].g, p[1].b);            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ả:

Mảng struct trong C#
bai-tap-struct-trong-csharp.jsp