فصل 9 از 40 درس 1 از 1

آرایه‌ها

آرایه‌ها

بخشی از آموزش جامع C# و .NET 10

محتوای درس آرایه‌ها

Array ساختاری با طول ثابت برای نگهداری چند مقدار هم‌نوع است. شناخت Index، آرایه‌های چندبعدی و ابزارهای استاندارد Array پایه کار با Collectionهای پیشرفته‌تر است.

۱. تعریف و مقداردهی

Array پس از ایجاد طول ثابتی دارد و عناصر آن با Index صفرمبنا در دسترس‌اند.

مثال

int[] values={10,20,30};
         Console.WriteLine(values[1]);

در این مثال، مفهوم «تعریف و مقداردهی» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نام‌ها عمداً ساده انتخاب شده‌اند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب می‌شود.

۲. پیمایش

برای دسترسی به Index می‌توان از for و برای پیمایش ساده از foreach استفاده کرد.

مثال

int[] values={1,2,3};
         foreach(int value in values) Console.WriteLine(value);

در این مثال، مفهوم «پیمایش» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نام‌ها عمداً ساده انتخاب شده‌اند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب می‌شود.

۳. آرایه چندبعدی

Rectangular Array برای داده‌های ماتریسی با ابعاد ثابت مناسب است.

مثال

int[,] matrix={{1,2},{3,4}};
         Console.WriteLine(matrix[1,0]);

در این مثال، مفهوم «آرایه چندبعدی» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نام‌ها عمداً ساده انتخاب شده‌اند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب می‌شود.

۴. Jagged Array

Jagged Array آرایه‌ای از آرایه‌هاست و هر ردیف می‌تواند طول متفاوتی داشته باشد.

مثال

int[][] data={new[]{1,2},new[]{3,4,5}};
         Console.WriteLine(data[1][2]);

در این مثال، مفهوم «Jagged Array» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نام‌ها عمداً ساده انتخاب شده‌اند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب می‌شود.

۵. ابزارهای Array

Sort، Reverse، IndexOf، Copy و Clear بخشی از عملیات‌های متداول کلاس Array هستند.

مثال

int[] a={5,1,3};
         Array.Sort(a);
         Console.WriteLine(string.Join(",",a));

در این مثال، مفهوم «ابزارهای Array» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نام‌ها عمداً ساده انتخاب شده‌اند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب می‌شود.

۶. Range و Index

عملگرهای ^ و .. دسترسی به انتهای آرایه و Sliceهای خواناتر را ممکن می‌کنند.

مثال

int[] a={10,20,30,40};
         Console.WriteLine(a[^1]);
         Console.WriteLine(string.Join(",",a[1..3]));

در این مثال، مفهوم «Range و Index» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نام‌ها عمداً ساده انتخاب شده‌اند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب می‌شود.

۷. مثال‌های عملی

int[] scores = { 18, 15, 20, 17 };
         Array.Sort(scores);
         
         foreach (int score in scores)
         {
             Console.WriteLine(score);
         }

این نمونه عملی چند مفهوم فصل را در کنار هم قرار می‌دهد و برای مشاهده رفتار واقعی کد قابل اجرا و تغییر است.

string[] names = { "A", "B", "C", "D", "E" };
         string last = names[^1];
         string[] middle = names[1..4];

این نمونه عملی چند مفهوم فصل را در کنار هم قرار می‌دهد و برای مشاهده رفتار واقعی کد قابل اجرا و تغییر است.

۸. خطاهای رایج

• دسترسی به Index خارج از محدوده

• انتظار تغییر طول Array پس از ایجاد

• استفاده از Array زمانی که Collection پویا مناسب‌تر است

۹. نکات اجرایی

• نام‌ها، Typeها و Methodها را متناسب با مفهوم دامنه و بدون ابهام انتخاب کنید.

• هشدارهای کامپایلر و Nullable را بدون بررسی خاموش نکنید.

• منطق هر بخش را تا حد امکان کوچک، قابل تست و مستقل از I/O غیرضروری نگه دارید.

۱۰. تمرین عملی

آرایه‌ای از قیمت‌ها ایجاد کنید و کمترین، بیشترین و میانگین قیمت را محاسبه کنید.

۱۱. جمع‌بندی

در این فصل، مبانی «آرایه‌ها» با تمرکز بر ساختارهای اصلی زبان، الگوهای صحیح استفاده و خطاهای رایج بررسی شد. تسلط بر این مفاهیم زمینه لازم برای اتصال موضوع به فصل‌های بعدی و طراحی کدهای خواناتر، قابل نگهداری و قابل تست را فراهم می‌کند.