عملگرهای مرتب سازی در Linq بخش اول

Linq و یا بطور صریح Language Integrated Query (زبان پرس و جوی یکپارچه) تکنولوژی نسبتا جدیدی می باشد که مایکروسافت از دات نت ورژن ۳ به بعد ارائه داد .

آموزش Linq

نکته : برای تمرین بیشتر در زمینه Linq به وب سایت مایکروسافت مراجعه شود .

در این سری آموزشی می خواهیم عملگرهای Linq را با هم بررسی کنیم و برای هریک از operator ها چند مثال بزنیم . یکی از پرکاربردترین عملگرها ، ordering و یا مرتب سازی می باشد . قبل از اینکه سراغ نوشتن اولین مثال برویم ، با نحوه ایجاد پروژه بصورت زیر آشنا شوید :

ایجاد پروژه جدید :

برای مرتب سازی عناصر می باشد و ساده ترین روش استفاده از آن دستور orderby می باشد.

نکته : در این سری آموزشی Linq ، به نرم افزار Visual Studio نیاز دارید . پس از باز کردن برنامه ویژوال استودیو ، از منوی فایل ، New Project را انتخاب کنید و سپس در پنجره باز شده ، در قسمت چپ ، Visual c# را انتخاب کرده و از بخش راست (میانی) Console Application را بر میگزینیم . مانند شکل زیر :

ایجاد کنسول اپلیکیشن

 

عملگرهای مرتب سازی در Linq بخش اول

مثال اول :

به مثال زیر توجه کنید :

string[] words = { "cherry", "apple", "blueberry" };

var sortedWords = from word in words orderby word select word;

توضیح : ابتدا آرایه ای از رشته تعریف کردیم که سه کلمه در آن قرار دادیم .سپس در دستور بعد ، توسط orderby ، این آرایه را بر اساس حروف الفبا و بصورت صعودی (پیش فرض : ascending) مرتب کرده ایم و در متغیر sordtedWords قرار داده ایم .

نکته : دستور orderby را نیز می توان بصورت Extension Method بنویسیم . بصورت زیر :

words.OrderBy(item => item);

برای نمایش این لیست مرتب سازی شده ، باید در یک حلقه foreach بصورت زیر عمل کنیم :

Console.WriteLine("The sorted list of words:\n—————–");

foreach (var word in sortedWords)

{

Console.WriteLine(word);

}

نکته : اگر بطور صریح نوع مرتب سازی را قید نکنیم ، پیش فرض بصورت صعودی می باشد ولی اگر بخواهیم در مثال فوق ، آرایه رشته ها را بطور نزولی مرتب کنیم ، باید بصورت orderby word descending بنویسیم .

بنابراین کد مثال اول بطور کامل بصورت زیر می شود :

public static void OrderBy_Sample1()

        {

            string[] words = { "cherry", "apple", "blueberry" };

            var sortedWords =

                                from word in words

                                orderby word

                                select word;

            //words.OrderBy(item => item);

            Console.WriteLine("The sorted list of words:\n—————–");

            foreach (var word in sortedWords)

            {

                Console.WriteLine(word);

            }

}

 

خروجی بصورت زیر است :

 blueberry , cherry

خب دوستان ، در اینجا بخش اول از عملگرهای ordering زبان Linq به پایان می رسد . در بخش بعدی با مثال های بیشتری در همین زمینه در خدمتتان هستم .


تاریخ انتشار :۲۵ اسفند ۱۳۹۴



دیدگاه ها :