آرایهها در C#
آرایهها در C# یک ساختار دادهای بنیادی هستند که به شما امکان ذخیره و مدیریت مجموعهای از مقادیر همنوع را میدهند. استفاده از آرایهها در توسعه برنامههای سیشارپ اهمیت بالایی دارد، زیرا دسترسی سریع به عناصر با استفاده از شاخصها و عملیات الگوریتمی روی مجموعهها را ممکن میسازد. آرایهها در سیستمهای نرمافزاری برای ذخیره دادههای ترتیبی، پیادهسازی الگوریتمهای مرتبسازی و جستجو، و ساختاردهی دادهها در سطح برنامههای شیءگرا کاربرد فراوان دارند.
در C# میتوان آرایهها را به صورت یکبعدی، چندبعدی یا Jagged تعریف کرد. آرایهها علاوه بر ذخیره مؤثر دادهها، با اصول شیءگرایی مانند کلاسها و متدها ترکیب میشوند تا الگوهای طراحی مدرن و قابل نگهداری ایجاد کنند. این آموزش به شما کمک میکند که نحوه تعریف، مقداردهی اولیه، دستکاری و پردازش آرایهها را یاد بگیرید و آنها را در پروژههای واقعی با رعایت بهترین شیوههای C# به کار ببرید.
با مطالعه این آموزش، شما خواهید توانست آرایهها را در برنامههای کاربردی، سیستمهای مدیریت داده و الگوریتمهای پیچیده به کار ببرید، خطاهای معمول مرتبط با دسترسی به شاخصها، مدیریت حافظه و کارایی را شناسایی و رفع کنید و از ویژگیهای پیشرفته C# مانند LINQ و List
مثال پایه
textusing System;
class Program
{
static void Main()
{
// تعریف یک آرایه با 5 عنصر
int\[] اعداد = new int\[5] { 10, 20, 30, 40, 50 };
// نمایش عناصر آرایه با استفاده از foreach
Console.WriteLine("عناصر آرایه:");
foreach (int عدد in اعداد)
{
Console.WriteLine(عدد);
}
// تغییر مقدار عنصر سوم
اعداد[2] = 35;
Console.WriteLine("عنصر سوم تغییر کرد: " + اعداد[2]);
// محاسبه مجموع تمام عناصر
int مجموع = 0;
for (int i = 0; i < اعداد.Length; i++)
{
مجموع += اعداد[i];
}
Console.WriteLine("مجموع عناصر: " + مجموع);
}
}
در این مثال ابتدا یک آرایه یکبعدی از اعداد تعریف و مقداردهی اولیه شده است. آرایهها در C# صفر مبنا هستند، بنابراین عنصر سوم با شاخص 2 قابل دسترسی است. استفاده از foreach برای پیمایش آرایه، دسترسی ایمن و ساده را بدون نیاز به مدیریت دستی شاخصها فراهم میکند.
تغییر مقدار یک عنصر و محاسبه مجموع عناصر نشان میدهد که آرایهها قابل تغییر و قابل پردازش هستند. ویژگی Length طول آرایه را بازمیگرداند که برای حلقههای تکرار و نگهداری کدهای منعطف اهمیت دارد. این کد از بهترین شیوههای C# تبعیت میکند و شامل مدیریت حافظه بهینه و خوانایی بالا است.
مثال کاربردی
textusing System;
using System.Collections.Generic;
class Student
{
public string Name { get; set; }
public int\[] Marks { get; set; }
public Student(string name, int[] marks)
{
Name = name;
Marks = marks;
}
public double AverageMarks()
{
int total = 0;
for (int i = 0; i < Marks.Length; i++)
{
total += Marks[i];
}
return (double)total / Marks.Length;
}
}
class Program
{
static void Main()
{
List<Student> students = new List<Student>
{
new Student("علی", new int\[] { 80, 90, 85 }),
new Student("زهرا", new int\[] { 70, 75, 80 }),
new Student("مهدی", new int\[] { 90, 95, 100 })
};
foreach (var student in students)
{
Console.WriteLine($"میانگین نمرات دانشآموز {student.Name}: {student.AverageMarks():F2}");
}
}
}
در این مثال پیشرفته، آرایهها در کلاس Student برای ذخیره نمرات هر دانشآموز استفاده شدهاند. متد AverageMarks مجموع و میانگین نمرات را محاسبه میکند. استفاده از List
برای برنامههای واقعی، بررسی null یا empty بودن آرایهها قبل از پردازش اهمیت دارد. این الگو در سیستمهای مدیریت دانشآموز، تحلیل دادهها و برنامههای آماری کاربرد فراوان دارد و عملکرد بهینه و ایمنی را با رعایت استانداردهای C# تضمین میکند.
بهترین شیوهها و اشتباهات رایج:
برای کار با آرایهها باید شاخصها را در محدوده مجاز نگه داشت تا از IndexOutOfRangeException جلوگیری شود. برای دادههای با اندازه متغیر، استفاده از List
اشتباهات رایج شامل آرایههای مقداردهینشده، پیمایش ناکارآمد آرایههای بزرگ و استفاده از اندازه ثابت است. ابزارهای Visual Studio و .NET برای دیباگ و بهینهسازی عملکرد مفید هستند. امنیت داده با اعتبارسنجی ورودیهای خارجی و مدیریت مناسب استثناها تضمین میشود.
📊 جدول مرجع
سیشارپ Element/Concept | Description | Usage Example |
---|---|---|
یکبعدی Array | مجموعهای خطی از عناصر همنوع | int\[] اعداد = new int\[5]; |
چندبعدی Array | ذخیره عناصر به صورت جدول یا ماتریس | int\[,] matrix = new int\[3,3]; |
List<T> | آرایه دینامیک قابل تغییر اندازه | List<int> اعداد = new List<int>(); |
foreach Loop | پیمایش ایمن عناصر آرایه | foreach(var n in اعداد){ Console.WriteLine(n); } |
Length Property | تعداد عناصر آرایه | int count = اعداد.Length; |
پس از یادگیری آرایهها در C#، میتوانید آرایهها را در پروژههای واقعی ایجاد، مدیریت و پردازش کنید. آرایهها پایهای برای مجموعههای پیشرفته، پردازش دادهها و ترکیب با OOP هستند.
گام بعدی شامل یادگیری آرایههای چندبعدی و Jagged، List
🧠 دانش خود را بیازمایید
آزمون دانش شما
درک خود از این موضوع را با سوالات کاربردی بسنجید.
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود