+1 امتیاز

باسلام و خداقوت

من کد زیر را نوشتم (تعداد N کتاب از ورودی با مشخصات عنوان و نویسنده و تاریخ چاپ و شماره شابک دریافت و سپس کتاب ها را با مشخصات چاپ می کند)که دارای یک آرایه از نوع struct می باشد حالا چگونه میتوانم آرایه Book را بر اساس یکی از اندیس هایش مثلا Book[].Date مرتب سازی به صورت صعودی کنم و در خروجی کتاب ها را بر اساس تاریخ چاپشان نمایش دهد؟

struct Book_Struct
        {
            public string Title;
            public string Auther;
            public int Date;
            public int ID;
        }

        static void Print(Book_Struct[] a, int b)
        {
            for (int i = 0; i < b; i++)
            {
                Console.WriteLine("  Name of Book " + (i + 1) + " is : " + "\" " + a[i].Title + " \"");
                Console.WriteLine("Auther of Book " + (i + 1) + " is : " + "\" " + a[i].Auther + " \"");
                Console.WriteLine("  Date of Book " + (i + 1) + " is : " + "\" " + a[i].Date + " \"");
                Console.WriteLine("    ID of Book " + (i + 1) + " is : " + "\" " + a[i].ID + " \"");
                Console.WriteLine("\n---------------------------------\n");
            }
        }

static void Main(string[] args)
        {
            Console.Write("Tedade Ketab Ha Ra Vared Konid : ");
            int N = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine();
            
            Book_Struct[] Book = new Book_Struct[N];
            
            for (int i = 0; i < N; i++)
            {
                Console.Write(" Enter Title Book " + (i + 1) + " : ");
                Book[i].Title = Console.ReadLine();

                Console.Write("Enter Auther Book " + (i + 1) + " : ");
                Book[i].Auther = Console.ReadLine();

                Console.Write("  Enter Date Book " + (i + 1) + " : ");
                Book[i].Date = Convert.ToInt32(Console.ReadLine());

                Console.Write("    Enter ID Book " + (i + 1) + " : ");
                Book[i].ID = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("\n - - - - - - - - - - - - - - - - - \n");
            }

            Console.WriteLine("***********************************");
            Console.WriteLine("***********************************\n");

            Print(Book , N);

            Console.ReadKey();

 

بسته شده

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام

قبل از خط 49 کد بالا کد زیر رو بنویسین

Book = Book.OrderBy(x => x.Title).ToArray();

در کد بالا فرض بر اینه که شما میخواین بر اساس title کتابها رو مرتب کنید
 

سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...