1
00:00.110 --> 00:00.740
دوباره خوش آمدید.

2
00:00.740 --> 00:04.610
حالا بیایید به یکی از مفیدترین چیزهایی که **list**ها ارائه می‌دهند نگاه کنیم.

3
00:04.610 --> 00:05.990
و اون **sorting** (مرتب‌سازی) هست.

4
00:05.990 --> 00:10.100
پس نکته جالب در مورد **list**ها واقعاً اینه که به شما امکان جستجو و مرتب‌سازی رو می‌دهند.

5
00:10.100 --> 01:03.310
بنابراین ما اول به مرتب‌سازی نگاه می‌کنیم و بعد به جستجو نگاه خواهیم کرد. پس چطور می‌تونم یک **list** رو مرتب کنم؟ و بنابراین من قراره یک **list** جداگانه یا یک قطعه کد جداگانه ایجاد کنم. پس بیایید از شر کد زیبایی که تا اینجا ساختیم خلاص بشیم. به جز شاید این **read key** اینجا. و بعد این بار قراره یک **list** از **int**ها (اعداد صحیح) داشته باشم. و در این **list** قراره چند آیتم اضافه کنم. پس دیدیم که چطور می‌تونیم آیتم‌ها رو به یک **list** اضافه کنیم. و بنابراین از براکت‌های آکولاد استفاده می‌کنیم. و حالا کاری که قراره انجام بدم اینه که اون رو در یک خط قرار بدم چون دارم از اعداد استفاده می‌کنم. درسته. بنابراین من فقط چند عدد اینجا خواهم داشت. پس درست به این شکل، ما یک **list** از اعداد صحیح داریم. و بیایید شاید اسم بهتری بهش بدیم. پس فقط اون رو **numbers** (اعداد) می‌نامیم. و حالا می‌تونم اون **list** رو مرتب کنم. چطور **list** رو مرتب کنم؟ خب، بیایید در واقع جلو بریم و فقط نام **list** خودمون رو وارد کنیم و بعد به متدهایی که داریم نگاه کنیم. پس **Add**، **AddRange** رو داریم. **Aggregate**، **Parallel** و غیره رو داریم. **Contains** یک مورد بسیار جالبه. اما اون یکی که می‌خوام استفاده کنم زیر حرف **S** خواهد بود. پس اینجا این متد **Sort** وجود داره، اوکی. "عناصر رو در کل **list** با استفاده از مقایسه‌کننده پیش‌فرض مرتب می‌کنه." بسیار خب. بیایید فقط این کار رو انجام بدیم. بیایید اون **list** رو مرتب کنیم و بعد اون رو چاپ کنیم، اوکی.

6
01:03.310 --> 01:05.080
بیایید فقط این کار رو انجام بدیم.

7
01:05.080 --> 01:38.570
بیایید اون **list** رو مرتب کنیم و بعد اون رو چاپ کنیم، اوکی. پس من قراره اعداد مرتب شده رو حالا نمایش بدم. پس قراره از یک حلقه **foreach** استفاده کنم. و **I in numbers** فقط می‌گم **Console.WriteLine(I)**.

8
01:38.570 --> 01:58.430
پس حالا می‌تونستید این رو یک **number** بنامید مثلاً. پس **for int number in numbers** شاید کمی خواناتر باشه. و حالا بیایید این کد رو اجرا کنیم و زیبایی اون رو ببینیم.

9
01:58.430 --> 02:02.150
بفرمایید. می‌گه: **3 5 9 10 15**.

10
02:02.150 --> 02:05.930
حالا بیایید ببینیم **list** بدون مرتب‌سازی چطور به نظر می‌رسید.

11
02:05.930 --> 02:13.070
پس قبل از اینکه اون رو مرتب کنیم و من یک **CW** اضافه می‌کنم، می‌گم **"unsorted list"** (**لیست مرتب نشده**).

12
02:13.070 --> 02:20.630
و بعد قراره اون رو مرتب کنم و یک **CW** دیگه اضافه می‌کنم و می‌گم **"sorted list"** (**لیست مرتب شده**). اوکی.

13
02:20.630 --> 02:30.020
حالا بیایید این رو دوباره اجرا کنیم و خواهید دید که **list** مرتب نشده **10 5 15 3 9** رو داشت و **list** مرتب شده **3 5 9 10 15** رو داشت.

14
02:30.020 --> 02:33.800
پس اینطوری می‌تونید یک **list** رو مرتب کنید.

15
02:33.800 --> 02:35.450
بسیار ساده، بسیار آسان.

16
02:35.450 --> 02:43.970
حالا در ویدیوی بعدی قراره نگاه کنیم که چطور می‌تونیم یک آیتم خاص رو داخل **list** خودمون جستجو کنیم. پس شما رو در ویدیوی بعدی می‌بینم.