سی شارپ (#C)، یکی از زبانهای برنامهنویسی مدرن و پرکاربرد است که توسط مایکروسافت توسعه یافته و در پروژههای مختلف، از توسعهی نرمافزارهای ویندوزی گرفته تا برنامههای تحت وب و موبایل استفاده میشود. یکی از ابزارهای اصلی و ضروری در سی شارپ برای مدیریت دادهها، لیست (List) است. در این مقاله، به طور کامل با لیستها آشنا خواهیم شد و کاربردهای مختلف آن را در دنیای واقعی بررسی میکنیم.
لیست در سی شارپ چیست؟
لیست در سی شارپ، نوعی ساختمان داده پویا است که به شما اجازه میدهد تا مجموعهای از دادهها را به صورت مرتب ذخیره کنید. این قابلیت به برنامهنویسان امکان میدهد تا به راحتی اطلاعات جدید را به لیست اضافه کرده یا حذف کنند. لیستها انعطافپذیر هستند و میتوانند دادههایی از انواع مختلف را در خود نگهدارند.
تعریف لیست در سی شارپ
در سی شارپ، لیستها از کلاس List<T> استفاده میکنند. T میتواند هر نوع دادهای باشد، مثلاً int، string، یا هر نوع دیگری. برای مثال، اگر بخواهید یک لیست از اعداد صحیح داشته باشید، کد زیر استفاده میشود:
List<int> numbers = new List<int>() { 1, 2, 3, 4 };
Console.WriteLine(numbers[0]); // خروجی: 1
ویژگیهای لیستها
پویایی: لیستها پویا هستند، یعنی اندازه آنها ثابت نیست و میتوانید هر زمان که نیاز داشتید، دادههای جدید به آن اضافه کنید.
دسترسی سریع به عناصر: با استفاده از اندیسگذاری، به سرعت میتوانید به هر عنصر دسترسی پیدا کنید. برای مثال، numbers[0] اولین عنصر لیست را برمیگرداند.
افزودن و حذف عناصر: با استفاده از متدهای مختلف لیست مانند Add() و Remove()، میتوانید به راحتی عناصر را به لیست اضافه یا حذف کنید.
روشهای کار با لیست در سی شارپ
اضافه کردن عناصر به لیست
شما میتوانید به راحتی عناصر جدید را به لیست اضافه کنید. برای این کار از متد Add() استفاده میشود:
List<string> names = new List<string>();
names.Add("Ali");
names.Add("Reza");
Console.WriteLine(string.Join(", ", names)); // خروجی: Ali, Reza
حذف عناصر از لیست
برای حذف یک عنصر از لیست، از متد Remove() استفاده میشود. به عنوان مثال:
names.Remove("Ali");
Console.WriteLine(string.Join(", ", names)); // خروجی: Reza
بررسی تعداد عناصر لیست
برای مشاهده تعداد عناصر موجود در لیست، از ویژگی Count استفاده میشود:
Console.WriteLine(names.Count); // خروجی: 1
پیمایش لیست
شما میتوانید از حلقههای مختلف مانند foreach یا for برای پیمایش عناصر لیست استفاده کنید:
foreach (var name in names)
{
Console.WriteLine(name);
}
مثالهای کاربردی از لیست در سی شارپ
مثال 1: مدیریت مخاطبین در یک برنامه تلفن همراه
فرض کنید شما در حال طراحی یک برنامه مدیریت مخاطبین برای تلفن همراه هستید. برای ذخیره و مدیریت اطلاعات مخاطبین، میتوانید از یک لیست استفاده کنید:
List<string> contacts = new List<string>() { "Ali", "Reza", "Maryam" };
// اضافه کردن یک مخاطب جدید
contacts.Add("Sara");
// حذف یک مخاطب
contacts.Remove("Reza");
// نمایش تمامی مخاطبین
foreach (var contact in contacts)
{
Console.WriteLine(contact);
}
در این مثال، شما میتوانید مخاطبین جدید اضافه کنید، مخاطبین را حذف کرده و لیست کامل مخاطبین را نمایش دهید.
مثال 2: مدیریت امتیازات بازی
در یک بازی کامپیوتری، معمولاً نیاز دارید که امتیازات بازیکنان را ذخیره و نمایش دهید. برای این کار میتوانید از لیست استفاده کنید:
List<int> scores = new List<int>() { 150, 200, 250 };
// اضافه کردن امتیاز جدید
scores.Add(300);
// نمایش تمامی امتیازات
foreach (var score in scores)
{
Console.WriteLine(score);
}
مثال 3: مدیریت لیست خرید
فرض کنید شما در حال نوشتن یک برنامه فروشگاهی هستید و نیاز دارید لیست خرید مشتریان را ذخیره کنید. با استفاده از لیستها، میتوانید این کار را به راحتی انجام دهید:
List<string> shoppingList = new List<string>() { "نان", "شیر", "کره" };
// اضافه کردن محصول جدید
shoppingList.Add("تخم مرغ");
// نمایش تمامی آیتمهای لیست خرید
foreach (var item in shoppingList)
{
Console.WriteLine(item);
}
تفاوت لیست با آرایهها
یکی از سوالات رایجی که معمولاً مطرح میشود، تفاوت بین لیستها و آرایهها است. در زیر به تفاوتهای کلیدی این دو اشاره میکنیم:
پویایی: لیستها پویا هستند و میتوانید هر زمان که نیاز داشتید، تعداد عناصر آنها را تغییر دهید، اما آرایهها دارای اندازه ثابت هستند.
متدها و امکانات بیشتر: لیستها در سی شارپ دارای متدهای مختلفی مانند Add، Remove، Insert، و ... هستند که به راحتی میتوانند مدیریت دادهها را انجام دهند. آرایهها چنین متدهایی را ندارند.
دسترسی و استفاده: در لیستها، عناصر به صورت پویا و با سرعت دسترسی دارند، اما در آرایهها شما باید از اندازه ثابت استفاده کنید.
نکات پیشرفته در کار با لیستها
مرتبسازی لیست
میتوانید لیستها را با استفاده از متد Sort() مرتب کنید:
List<int> numbers = new List<int>() { 4, 2, 9, 1 };
numbers.Sort();
Console.WriteLine(string.Join(", ", numbers)); // خروجی: 1, 2, 4, 9
جستجو در لیست
برای جستجوی یک عنصر خاص در لیست، از متد Contains() یا IndexOf() استفاده میشود:
bool hasAli = contacts.Contains("Ali");
int index = contacts.IndexOf("Maryam");
پاک کردن تمام عناصر لیست
اگر بخواهید تمام عناصر موجود در لیست را پاک کنید، میتوانید از متد Clear() استفاده کنید:
contacts.Clear();
Console.WriteLine(contacts.Count); // خروجی: 0
نتیجهگیری
لیستها در سی شارپ یکی از ابزارهای مهم و پرکاربرد هستند که به شما امکان میدهند دادهها را به صورت مرتب، پویا و انعطافپذیر مدیریت کنید. با استفاده از لیستها، میتوانید اطلاعاتی مانند مخاطبین، امتیازات، لیست خرید و هر نوع دادهی دیگری را به راحتی مدیریت کنید.
توصیه میشود برای درک بهتر و عمیقتر کار با لیستها، حتماً از مثالهای مختلف استفاده کنید و آنها را در پروژههای خود پیادهسازی کنید. با تمرین بیشتر، شما به راحتی میتوانید از لیستها در پروژههای خود استفاده کنید و برنامههای کارآمدتری بنویسید.
سی شارپ با قابلیتها و کاربردهای فراوانی که دارد، زبانی است که به هر برنامهنویسی توصیه میشود. در دورههای آموزش سی شارپ باگتو میتوانید به تسلط بیشتری بر روی این زبان برسید و از آن در پروژههای واقعی خود استفاده کنید.
برای آموزش بیشتر می توانید مقاله لیست دو بعدی در سی شارپ را مطالعه نمایید.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید