PDA

View Full Version : کالکشنی حاوی بیش از 2 آیتم



rezaei manesh
یک شنبه 21 فروردین 1384, 08:49 صبح
سلام
من دونبال کالکشنی با بیش از 2 آیتم می گردم
sortList هست اما 2 آیتم داره که یکیش هم باید کلید باشه؟!!!!
اگه کسی می تونه کمکم کنه
ممنون
حامد
::نوشتن:: :flower:

Farhad.B.S
یک شنبه 21 فروردین 1384, 18:11 عصر
Hashtable هم یک کالکشنه که دارای دو فیلد Key و Value است .هردوی این آیتم ها از نوع آبجکت هستند و بنابراین مشکلی در نگهداری اطلاعات نخواهند داشت.

rezaei manesh
یک شنبه 21 فروردین 1384, 18:48 عصر
سلام
درسته اما توی فیلد key نمی توان مقادیر تکراری وارد کرد.
من میخوام بتونم وارد کنم
راستی این دو کالکشن چه فرقی با هم دارند؟

Farhad.B.S
یک شنبه 21 فروردین 1384, 19:36 عصر
درسته اما توی فیلد key نمی توان مقادیر تکراری وارد کرد.
:)
بنابراین میتونید یک کلاس یا ساختار(Structure) سفارشی بسازید و سپس آیتم های سفارشی رو داخل یک ArrayList قرار بدید.

نحوه پر کردن :

Public Structure MyType
Dim Key As String
Dim Value As String
End Structure


Dim item As MyType
Dim list As New ArrayList()

item.Key = "Key"
item.Value = "Value"

list.Add(item)

نحوه بازیابی :

Dim o As Object

For Each o In list
MessageBox.Show(CType(o, MyType).Key)
MessageBox.Show(CType(o, MyType).Value)
Next

rezaei manesh
دوشنبه 22 فروردین 1384, 08:36 صبح
سلام
ممنون برم ببینم چی میشه
از شما خیلی متشکرم.
::نوشتن:: :flower:

rezaei manesh
چهارشنبه 31 فروردین 1384, 18:18 عصر
سلام
ببخشید من نحوه باز یابی شو نفهمیدم
فرض من توی key کارکتر و توی value انتیجر ذخیره کردم حالا چطوری میتونم با key اونvalue رو پیدا کنم.
با تشکرات فراوان از شما
:flower: ::نوشتن::
:گیج:

Farhad.B.S
پنج شنبه 01 اردیبهشت 1384, 19:17 عصر
با استفاده از یک حلقه مثل for-each روی کلیه آیتم ها گردش کرده و آیتم مورد نظر رو پیدا میکنی.

Dim o As Object

For Each o In list
If (CType(o, MyType).Key = "Search key") Then
MessageBox.Show(CType(o, MyType).Value)
End If
Next

rezaei manesh
شنبه 03 اردیبهشت 1384, 08:43 صبح
سلام
ممنون خیلی خوب بود
حالا دوزاری افتاد
بسیار عالی بود
:flower: :تشویق: