آرایه‌ها، یک مفهوم بسیار مهم در برنامه‌نویسی می‌باشند؛ . اما آیا به یکی از مشکلات آن دقت کرده‌اید؟ اگر هیچ وقت ندانیم که سایز آرایه‌ی ما چقدر باید باشد، چه کار باید انجام دهیم؟ شاید بگویید که در اول اجرای برنامه از کاربر سوال کنیم، اما اگر خود کاربر حتی نداند چه تعدادی آیتم دارد چه؟ پس باید به مفهومی به نام List<> مراجعه کنیم.

استفاده از List<>

همانطور که از نامش پیداست، مفهومی که با آن سر و کار داریم یک «لیست» است؛ یعنی زمانی از آن استفاده می‌کنیم که بخواهیم آیتم جدیدی به آن اضافه، آیتمی را از آن حذف و یا در آن جستجو کنیم؛ یا مثلاً اطلاعات وارد شده را Sort (مرتب) کنیم و … برای مثال، شما معلمی هستید که در کلاس خود ۱۰ دانش‌آموز حضور دارند. شما می‌توانید لیستی از دانش‌آموزان خود درست کنید که اسامی آن‌ها را ذخیره کرده، اگر آن‌ها را بر اساس حروف الفبا مرتب کنید، دانش‌آموز جدیدی را اضافه کنید و یا دانش‌آموزشی را از آن حذف نمایید. اگر از یک آرایه معمولی استفاده کنید، می‌دانید که انجام کارهای فوق بسیار سخت است. اکنون Visual Studio را اجرا نموده و یک پروژه جدید ایجاد نمایید. یک Button و Listbox اضافه کنید. بر روی Button خود دابل-کلیک کنید تا وارد بخش کدنویسی مربوطه شوید. به کدهای آماده (خصوصاً کدهای بالا) دقت کنید. الان شما کدهایی را می‌بینید که با Using شروع می‌شوند. مربوط به List<>، همانی هست که کد آن بدین شکل است: Using System.Collections.Generic اگر نمی‌توانید آن را ببینید، خودتان آن را بصورت دستی اضافه کنید.

 

نحوه نعریف یک لیست در سی‌شارپ به‌شکل زیر می‌باشد:



List<string> students = new List<string>();

ابتدا با کلمه کلیدی List شروع کرده، در داخل علامت‌های مربوطه نوع لیست خودتان را انتخاب می‌کنید و پس از ایجاد یک فاصله (Space)، نام متغیر را تعیین می‌کنید و در نهایت، آن را new می‌کنید. کدهای شما می‌بایست که به شکل زیر شده باشند:

اکنون زمان اضافه کردن اطلاعات به لیست خود می‌باشید. برای اضافه کردن اطلاعات به لیست خود، می‌توانید پس از ذکر نام لیست خود که انتخاب کرده‌اید، از متد Add استفاده نمایید. به کدهای زیر دقت کنید:



students.Add(“Jenny”);

students.Add(“Peter”);

students.Add(“Mary Jane”);

کدهای شما اکنون بدین شکل خواهند بود:

برای دسترسی به لیست خود نیز می‌توانید از حلقه foreach استفاده کنید. کد زیر را اضافه کنید:



foreach (string child in students)

{

listBox1.Items.Add(child);

}

بدین ترتیب که ما با استفاده از این حلقه در این لیست در حال گردش هستیم. اگر هم می‌خواهید از لحقه معمولی For استفاده کنید، می‌توانید از کد زیر استفاده نمایید:



for (int = 0; i <students.Count; i++)

{

listBox1.Items.Add(students[i]);

}

دقت کنید که Count در student.Count تعداد آیتم‌های موجود در لیست را برمی‌گرداند. اما پیشنهاد می‌شود که در لیست‌ها از حلقه‌های Foreach استفاده کنید. کدهای خودتان را اجرا کنید؛ نتیجه را خواهید دید!

مرتب‌سازی لیست

یکی از مهمترین کارهایی که می‌توان در List<> انجام داد، مرتب‌سازی آن می‌باشد. شما می‌توانید با استفاده از متد Sort()، اقدام به مرتب‌سازی مقادیر موجود در داخل لیست اقدام نمایید. به کد زیر دقت کنید:



students.Sort();

اگر کد زیر را پیش از نمایش آیتم‌ها در Listbox اضافه کنید، خواهید دید که نتیجه‌ی حاصل، یک لیست مرتب‌شده بر اساس حروف الفبا می‌باشد. اگر نوع لیست را از نوع عدد می‌گرفتید، نتیجه‌ی حاصل، بر اساس ترتیب اعداد می‌بود. برای اینکه لیست خود برعکس کنید، می‌توانید از متد() Reverse استفاده کنید. به کد زیر دقت کنید:



stundents.Reverse();

حذف مقدار از List<>

شما می‌توانید از دو روش مقادیر موجود در لیست را حذف کنید؛ یا اینکه مقدار مورد نظر را می‌دانید و آن را به تابع می‌گویید تا آن را حذف کند، و یا یک رنجی از می‌خواهید حذف کنید که باید شماره محل قرار گرفتن آن را به متد پاس دهید. این کارها توسط دو متد Remove و RemoveRange انجام می‌شود. به کدهای زیر دقت کنید:



student.Remove(“Peter”);

این کد، آیتم مربوط به Peter را حذف می‌کند.



student.RemoveRange(0, 2)

این کد، اولین مقدار (که در اینجا صفر است) محل شروع حذف کردن را به شما می‌گوید و مقدار دوم (که ۲ می‌باشد) تعداد خانه‌های بعد از اولین مقدار (که اینجا صفر است) را که می‌خواهید حذف کنید را از شما می‌گیرد.

 

منبع:گویا آی تی

نظر خود را اضافه نمایید

ارسال نظر به عنوان مهمان

0
  • هیچ نظری یافت نشد.