آرایهها
آرایهها
بخشی از آموزش جامع 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 غیرضروری نگه دارید.
۱۰. تمرین عملی
آرایهای از قیمتها ایجاد کنید و کمترین، بیشترین و میانگین قیمت را محاسبه کنید.
۱۱. جمعبندی
در این فصل، مبانی «آرایهها» با تمرکز بر ساختارهای اصلی زبان، الگوهای صحیح استفاده و خطاهای رایج بررسی شد. تسلط بر این مفاهیم زمینه لازم برای اتصال موضوع به فصلهای بعدی و طراحی کدهای خواناتر، قابل نگهداری و قابل تست را فراهم میکند.