PDA

View Full Version : سوال: حذف یک عنصر از آرایه



مجتبی کریمی
چهارشنبه 30 بهمن 1387, 01:57 صبح
سلام
فرض کنید یه آرایه ی n تایی از یه Structure ساختیم. حالا می خواهیم که عضو i ام این آرایه رو حذف کنیم. یعنی با ید طول آرایه بشه n-1 . اگه مستقیما از خود آرایه اینجا استفاده کرده باشیم کار یکم سخت می شه.
حالا سوالم اینجاست که چیزی تو vb هست که بتونه این کارو انجام بده؟
ممنون

MohsenPS
چهارشنبه 30 بهمن 1387, 02:41 صبح
سلام؛

می‌تونید از یک ArrayList استفاده کنید:


Dim Arr As New ArrayList

Arr.Add("Item1")
Arr.Remove("Item1")

naeeme
چهارشنبه 30 بهمن 1387, 11:07 صبح
البته دوستمون درست گفتن که از Arraylist استفاده کنین اما Arraylist یک مقدار قدیمی شده. امکان زیبایی مثل list وجود داره که ورودیش می تونه از جنس Struct شما باشه و امکاناتی نظیر جستجو رو هم به شما بده




system.collection.generic.list(of YOUR TYPE)

نمونه کد:


Dim lst As List(Of String)
lst.Clear() 'پاک کردن تمام آیتمها
lst.RemoveAt(20) 'پاک کردن آیتم 20 ام
lst.Remove("myItem") ' پاک کردن آیتم مشخص شده
lst.IndexOf("myItem") ' پیدا کردن ایندکس آیتم مشخص شده
lst.Insert(12, "myItem") ' اضافه کردن آیتم به لیست در آیندکس مشخص شده

مجتبی کریمی
چهارشنبه 30 بهمن 1387, 16:41 عصر
ممنون از جوابتون
ولی یه سوال دیگه
چطوری میشه یه عنصر داخل از لیست رو ویرایش کرد.
مثلا چرا این کار نمیکنه؟

lst.item(0).name="ali"

anooshiran
چهارشنبه 30 بهمن 1387, 18:58 عصر
ممنون از جوابتون
ولی یه سوال دیگه
چطوری میشه یه عنصر داخل از لیست رو ویرایش کرد.
مثلا چرا این کار نمیکنه؟

lst.item(0).name="ali"


دوست عزيز سلام

يا به كار بردن lst.item(0).name="ali" شما در حال نامگذاري براي اين آيتم هستيد نه تغيير مقدارش.
براي تغيير مقدار بايد مطابق كد زيز عمل كنيد




lst.Item(0) = "ALI"