SlideShare a Scribd company logo
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 1 Lecturer: Msc OU Bundeth 
មេម ៀនទី ៤៖ Collection និង Generic 
1 Array 
Array គឺជាបណ្ុុំនន Character/String ដែលវាខុសគ្នាដែលលខ Index ។ 
2.1 Array One Dimension 
Array Declaration: 
Dim ArrayName(number) as DataType 
Ex: Dim arr() as String={“A”,”C”,”D”,”B”} 
Or Dim arr(3) as String 
arr(0)=“A” 
Arr(1)=“C” 
arr(2)=“D” 
arr(3)=“B” 
Ex: For i as integer=0 to arr.length-1 
MessageBox.Show(arr(i)) 
Next 
Or For Each s As String in arr 
MessageBox.Show(s) 
Next 
- Lbound : វាមាននាទីសុំរាប់ Return នូវ Index ែុំបូងរបស់ Array ។ 
- Ubound មាននាទីសុំរាប់ Return មកវិញនូវធាែុចុងលរោយរបស់ Array។ 
- Resized មាននាទីសុំរាប់ពរងីកធាែុរបស់ Array 
- Reverse មាននាទីសុំរាប់រែលប់ធាែុរបស់ Array ។ 
- Sort មាននាទីសុំរាប់ែលរមៀបធាែុរបស់ Array ពីែូចលៅធុំ ។ 
Ex: Dim str() as String={“AB”,”AD”,”BA”,”ED”} 
Array.Sort(str) 
str.Reverse() 
For i as integer =0 to Ubound(str) 
MsgBox(str(i)) 
Next 
- Redim and ReDim Preserve 
+ ReDim 
Ex: Dim str() as String={“AB”,”AD”,”BA”,”ED”} 
ReDim str(1) 
str(0)=“A” 
str(1)=“B” 
For Each s as String in str 
MessageBox.Show(s) 
Next 
+ ReDim Preserve 
Ex: Dim str() as String={“AB”,”AD”,”BA”,”ED”}
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 2 Lecturer: Msc OU Bundeth 
ReDim Preseve str(1) 
For Each s as String in str 
MessageBox.Show(s) 
Next 
- Length ជា Properties ដែលវាអាច Return មកវិញនូវធាែុដែលចុំនួនដែល Array លនាោះមាន 
2.2 Array Two Dimension 
Array Declaration: 
Dim ArrayName(,) as DataType={{,},{,},{,}} 
- GetUpperBound មាននាទីសុំរាប់ទាញយក Indexចុងលរោយរបស់ Array លៅតាម Diamension ដែលកុំណែ់ ។ 
- Length មាន Return នូវ ចុំនួន Element ទាុំងអស់ ។ 
Ex: 
Dim arr( , ) as String ={{“ID”,”Name”,”Phone”},{“001”,”Dara”,”099251675”}, {“002”,”Sok”,”017251675”}} 
Dim result as String=“” 
For i as integer=0 to arr.GetUpperbound(0) 
Dim str as String=“” 
For j as integer=0 to arr.GetUpperBound(1) 
str += arr(I,j) + vbtab 
Next 
result += str + vbcrlf 
Next 
MessageBox.Show(result) 
2. Collection 
2.1 ArrayList 
ArrayList អនុញ្ញាែ្ិលអាយអាករកាទុកធាែុជាលរចើនវាមានលកខណៈែូចលៅនឹង Array ដែរ ។ វាលអាយលយើងអាច បដនែមធាែុលៅ ោន់ទីតាុំងណាមួយក៏បានដែរល ើយអាកក៏អាច Remove ធាែុណាមួយលចញពីវាក៏បាន ។ ArrayList គឺជា Dynamic Structure ដែល អាចលុប បញ្ចូល … ។ 
លែើមបីបលងកើែ ArrayList ជាែុំបូងលយើងរែូវបលងកើែ Instance របស់វាលៅថា Object របស់ Class Array List ជាមុនសិនលទើបលរបើ Method និង Properties របស់វាបានលោយសារវាជា Instance Class ។ 
Syntax: Dim ArrayName as New ArrayList(number) 
- រលបៀបរបោស និង បដនែមធាែុចូល ArrayList 
Ex: Dim arrlist As New ArrayList(3) 
arrlist.Add("A") 
arrlist.Add("B") 
arrlist.Add("C") 
For Each s As String In arrlist 
MessageBox.Show(s) 
Next 
- រលបៀបបដនែមធាែុលៅចលនាលោះ Index ណាមួយ 
Ex1: Dim arrlist As New ArrayList(3) 
arrlist.Add("A") 
arrlist.Add("B")
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 3 Lecturer: Msc OU Bundeth 
arrlist.Add("C") 
arrlist.Insert(2, "E") 
For Each s As String In arrlist 
MessageBox.Show(s) 
Next 
Ex2: Dim arrlist As New ArrayList(3) 
arrlist.Add("A") 
arrlist.Add("E") 
arrlist.Add("F") 
Dim arr() As String = {"B", "C", "D"} 
arrlist.InsertRange(1, arr) 
For Each s As String In arrlist 
MessageBox.Show(s) 
Next 
- រលបៀបលុបធាែុណាមួយលចញពី ArrayList 
Ex: Dim arrlist As New ArrayList(3) 
arrlist.Add("A") 
arrlist.Add("E") 
arrlist.Add("F") 
Dim arr() As String = {"B", "C", "D"} 
arrlist.InsertRange(1, arr) 
arrlist.RemoveAt(3) 
For Each s As String In arrlist 
MessageBox.Show(s) 
Next 
- រលបៀប Sort ArrayList លែើមបី Sort ArrayList លោយលរបើរបាស់ Method Sort ។ 
ArrayList.Sort() 
- រលបៀបរែលប់ Element របស់ ArrayList លែើមបី Sort ArrayListលោយលរបើរបាស់ Method Reverse ។ 
ArrayList.Reverse() 
2.2 Hash Table 
Hash Table មានលកខណៈែូចលៅនឹង ArrayList ដែរ ប ុដន្វាអនុញ្ញាែ្ិលអាយលយើងអាច Access ធាែុលោយលរបើ របាស់ Key រាល់ធាែុនីមួយៗ រែូវដែមានែុំនល (Value) និង key ។ែនមលលនោះរកាទុកែូចលៅនឹង ArrayList ដែរដែរគ្នន់ ដែ Index ជា Key វិញ មានន័យថាវាអាចជា String បាន ។ 
Syntax: 
Dim HashtableName as New HashTable 
Ex: 
Dim htable As New Hashtable 
htable.Add("Pen", "is the kind equivment of use in office") 
htable.Add("Apple", "is the kind of friut") 
htable.Add("Book", "is the paper that they compile it in a group of meaning") 
For Each s As String In htable.Keys
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 4 Lecturer: Msc OU Bundeth 
MessageBox.Show(“Key is ”+s+” Value is”+htable(s)) 
Next 
ខាងលរោមលនោះជាោរ sort data លៅកាុង Hash Table ៖ 
Try 
Dim htable As New Hashtable 
htable.Add("b", "bbb") 
htable.Add("y", "yyy") 
htable.Add("a", "aaa") 
Dim arrkey(htable.Count - 1) As String 
Dim keys As ICollection = htable.Keys 
keys.CopyTo(arrkey, 0) 
Array.Sort(arrkey) 
For Each s As String In arrkey 
MessageBox.Show("Key is " + s + " Values is " + htable(s)) 
Next 
Catch ex As Exception 
MessageBox.Show((ex.Message)) 
End Try 
3. Generic 
3.1 List 
 អវីលៅជា List? 
Listលៅកាុង VB.NET គឺជា Class ដែលសែិែលៅកាុង namespace System.Collection.Generic ។ List គឺជា dynamic arrays មានមុខងារែូចនឹង Array ដែរ ប ុដន្វាមានសមែែភាពលលើស array លោយអាចឱ្យលយើងបដនែម ឬ បនែយ element ល ើយមាន methods លរចើនជាងដែលលធវើឱ្យលយើងងាយរសួលកាុងោរលធវើោរជាមួយវា ។ 
ខាងលរោមលនោះជារូបបងាាញពី List របលភទ string List<string> 
រចនា 
លគ ទុំព័រ 
កមមវិធីកុុំពយូទ ័រ 
Game 
ែបណា្ញ 
 ោរបលងកើែ 
លែើមបីអាចលរបើ List បានែុំបូងអាករែូវរបោស object របស់ List លនាោះសិន Type របស់ List លនោះអាចជា Data Type (int, string, double) ឬ element លផេងលទៀែែូចជា Label, TextBox ។ល។ 
ខាងលរោមលនោះជាកូែសរមាប់របោស List។ 
Imports System.Collections.Generic 
... 
Dim skill As New List(Of Integer) 
មុននឹងលរបើ List<T> លយើងរែូវ using System.Collections.Generic; ជាមុនសិន លទើបលយើងអាចលរបើកូែ List<T> បាន ។ បនាាប់មកខ្ុុំរបោស object មួយល្មោះ animal ជា List របលភទ string ដែលមានន័យថា object animal អាចរកាទុកែនមលដែលមានរបលភទជា string ។
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 5 Lecturer: Msc OU Bundeth 
ឥឡូវសូមគិែពីកូែខាងលរោមលនោះ 
Dim skill As New List(Of Label) 
 ោក់ែនមលចូល List 
List ដែលលយើងបានបលងកើែខាងលលើគឺជា object ទលទមួយដែលមិនទាន់មានធាែុ ឬ ែនមលអវីលទ ។ លែើមបីរកាទុកែនមលកាុង List លយើងរែូវលរបើ method Add 
skill.Add(“រចនា”) skill.Add(“លគ ទុំព័រ”) skill.Add(“កមមវិធីកុុំពយូទ ័រ”) skill.Add(“Game”) skill.Add(“ែបណា្ញ”) 
លោយសារដែ List ដែលលយើងបលងកើែមានរបលភទជា string (List)ែូចលនោះ parameter របស់ method Add ក៏រែូវដែជា string ផងដែរ ។ ខាងលរោមលនោះជាោរបលងកើែ List របលភទជា int ៖ 
Dim number As New List(Of Integer) 
number.Add(10) 
number.Add(7) 
List លធវើោរបានលអជាង និង ងាយរសួលលរបើជាង array លោយលយើងមិនបាច់របាប់ពីចុំនួន element ដែលលយើង ចង់ោក់លនាោះលទ ល ើយលយើងអាចបដនែមែនមលបានមិនកុំណែ់ ។ ោរលរបើ method Add លនាោះវានឹងបដនែមធាែុលៅដផាកខាង លរោយនន List ។ របសិនលបើអាកចង់បដនែមធាែុលៅ index ទី ១ ឬ index លផេងលទៀែលនាោះ អាកអាចលរបើ method Insert ។ 
skill.Insert(1, “ជួសជុលកុុំពយូទ ័រ”) 
កូែខាងលលើលនោះនឹងោក់ធាែុមួយដែលមានែនមល “ជួសជុលកុុំពយូទ ័រ” លៅ index ទី ១ នន List skill ។ 
 ទាញែនមលមកលរបើ និង ដកែនមលរបស់ List 
សរមាប់ោរទាញែនមលពី List មិនលរបើ ឬ ដកគឺែូចនឹង array ដែរ លោយលយើងចាប់តាម index របស់ធាែុល ើយែនមល ណាដែល Add មុនលគសែិែលៅ index 0 ល ើយ Add ទី២ សែិែលៅ index 1 ។ 
skill(1) = “បលងកើែលគ ទុំព័រ” skill(2) = “បលងកើែកមមវិធីកុុំពយូទ ័រ” MsgBox(“ខ្ុុំចង់ោលយជាអាក” & skill(1) & “ និង អាក” & skill(2)) 
 លុបែនមលលចញពី List<T> 
លយើងអាចលុបធាែុណាក៏បានដែរ លោយលរបើ method Remove ឬ RemoveAt ។ 
method Remove ែរមូវឱ្យលយើងបញ្ញាក់ធាែុដែលចង់លុប 
skill.Remove(“Game”) 
ឯ method RemoveAt ែរមូវឱ្យលយើងបញ្ញាក់ index ននធាែុដែលចង់លុប 
skill.RemoveAt(3) 
បនាាប់ពីលុបរួច ធាែុ “ែបណា្ញ” នឹងធាលក់មកលៅ index ទី ៣ ។ 
លលើសពីលនោះ List មាននូវ methods ជាលរចើនលទៀែសរមាប់លុបែូចជា ៖ RemoveRange និង Clear ។
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 6 Lecturer: Msc OU Bundeth 
skill.RemoveRange(1, 2) 
កូែខាងលលើគឺលុបចាប់ពី index ទី ១ ល ើយលុប ២ ធាែុ (លនោះមានន័យថាលុប index ទី ១ និង ទី ២) 
skill.Clear() „ លុបធាែុទាុំងអស់ 
 ោរលរបើ List និង ផលរបលោជន៍ 
តាមរយៈអែែបទ និង កូែខាងលលើលោកអាកអាចបលងកើែ និង លរបើ List បានល ើយ ។ List ផ្ល់ឱ្យលោកអាកនូវ methods និង properties មួយចុំនួនលទៀែែូចជា Count, Contains, Reverse និង Sort ដែលនឹងជួយ សរមួលោរលរបើ List របស់ លោកអាក ។ 
- Count ជា properties សរមាប់រាប់ចុំនួនធាែុដែលមានកាុង List 
Message.Show(“លយើងមានជុំនាញចុំនួន ” + skill.Count) 
- Contains ជា method សរមាប់រកលមើលថាលែើ List មានែនមលដែលបានកុំណែ់ឬអែ់ 
If skill.Contains(“ែបណា្ញ”) Then 
Message.Show(“អាកអាចសិកាជុំនាញលនោះបាន ។”) 
End If 
- Sort ជា method សរមាប់ែុំលរៀបធាែុកាុង List តាមែនមលពីែូចលៅធុំ 
skill.Sort() 
លោកអាកក៏អាចកុំណែ់របលភទជាលរចើនននោរែុំលរៀបលនោះលោយលរបើ Comparison ដែលខ្ុុំនឹងមិនបងាាញកាុងអែែបទលនោះលទ ។ 
លរៅពី methods ខាងលលើលនោះក៏មាននូវ methods ជាលរចើនលទៀែ ដែខ្ុុំសូមមិនបងាាញលនាោះលទ លររោះវាមានករមិែ លរៅ ។ លោយសារដែ List មានធាែុជាលរចើនលៅកាុងលនាោះ ែូចលនោះលយើងរែូវលរបើ Loop របសិនលបើលយើងចង់លធវើោរជាមួយ ធាែុទាុំងអស់ ។ ឧទា រណ៍របសិនលបើលយើងចង់បដនែមរកយ “អាក” លៅពីមុខែនមលននធាែុទាុំងអស់ ល ើយបងាាញវា 
For i As Integer=1 To skill.Count 
MessgeBox.Show(“អាក” & skill(i)) 
Next 
កូែ for loop ខាងលលើលនោះងាយរសួលយល់សរមាប់អាក Programming ទូលៅ ប ុដន្វាមានលកខណៈយឺែជាងរបដ ល ២ែង លបើលរបៀបលធៀបជាមួយោរលរបើ foreach (សូមលមើលកូែ foreach ខាងលរោម) 
For Each s In skill 
MessgeBox.Show(“អាក” & s) 
Next 
ឥឡូវសាកចាប់លផ្ើមលរបើ List<T> ជុំនួស array កមមវិធីដែលអាកបលងកើែនឹងរែូវោរ memory ែិច ល ើយោរសរលសរកូែរបស់អាក នឹងងាយជាងមុន ។ 
3.2 Dictionary 
 អវីលៅជា Dictionary? 
Dictionary គឺជា Class មួយដែលសែិែលៅកាុង namespace System.Collections.Generic; ។ Dictionary គឺវាមាន លកខណៈរសលែៀងលៅនឹងលៅនឹង List ដែរ ដែវាខុសគ្នាដែ Keys និង Index ចុំលរោះ List លយើងលរបើលលខសរមាប់លធវើជា Index ចុំដណកឯ Dictionary វាលរបើ Keys លធវើជា Index ែូចលនោះវាអាចផាុកបានែនមលជា String ក៏បាន ជាែនមលលលខ ឬ Object ក៏បាន។ 
 អែែរបលោជន៍ននោរលរបើ Dictionary 
Dictionary ផ្ល់ឱ្យលោកអាកនូវ methods និង properties មួយចុំនួនលទៀែ ែូចជា ៖ ContainsKey, ContainsValue, Remove, Keys, Values ល ើយវាក៏មានែួនាទីោ ង សុំខាន់ កាុងោរលរបើសរមាប់បលងកើែ Dictionary លោយសារវាមាន Key និង Value រសាប់មិនដែ ប ុលណាណោះវាមាន method រួចជាលរសច កាុងោរដសវងរកនូវ Key និង Value ណាមួយ ។ ខាងលរោមលនោះជារូបបងាាញពី Dictionary របលភទជា String, String
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 7 Lecturer: Msc OU Bundeth 
Dictionary<string, string> Keys Values 
squirrel 
កុំរបុក 
monkey 
សាវ 
rabbit 
ទនាយ 
 ោរបលងកើែ Dictionary 
លែើមបីអាចលរបើ Dictionary ជាែុំបូងរែូវរបោស Object របស់ Dictionary លនាោះជា មុនសិនដែលមាន Key ជា Index ល ើយរែូវនឹងែនមល (TValue) ឧទា រណ៍ Squirrel ជា Key ល ើយរែូវនឹង Value កុំរបុក។ DataType របស់ Key និង Value អាចជា Data Type (int, string, double) ឬ element លផេងលទៀែែូចជា Label, TextBox ។ល។ ខាងលរោមលនោះជាកូែ សរមាប់របោស Dictionary<TKey,TValue> 
Imports System.Collections.Generic 
... 
Dim animal AsNew Dictionary(OfString, String) 
- មុននឹងលរបើ Dictionary លយើងរែូវ using System.Collections.Generic; ជាមុនសិនលទើបអាចលរបើកូែ Dictionary បាន ។ 
- បនាាប់មកលយើងបលងកើែ Object មួយល្មោះ animal Dictionary ដែលមាន key ជា String និង Value ជា String 
 ោក់ែនមលចូល Dictionary<Tkey,TValue> 
Dictionary ដែលលយើងបានបលងកើែខាងលលើគឺជា Object ទលទមួយ ដែលមិនទាន់មានធាែុ ឬ ែនមលអវីលទ ។លែើមបីរកា ទុកែនមលកាុង Dictionary លយើងរែូវលរបើ Method Add ។ 
animal.Add("squirrel", "កុំរបុក") 
animal.Add("monkey", "សាវ") 
animal.Add("rabbit", "ទនាយ") 
Dictionary លយើងអាចលរបើ Method Add លនាោះលធវើោរបដនែមទិនាន័យលៅខាងលរោម Dicitonary បានលោយមិន ចាុំបាច់កុំណែ់ធាែុជាមុនលទ ។ លោយសារដែ Dictionary ដែលលយើងបលងកើែមានរបលភទ Key ជា String និង Value ជា String(Dictionary)ែូចលនោះ Parameter របស់ Method Add ក៏រែូវដែជា String ផងដែរ ។ 
 លរបើ និង ដកែនមលរបស់ Dictionary 
សរមាប់ោរទាញែនមលពី Dictionary មកលរបើ ឬ ដកគឺែូចនឹង HashTable ដែរ លោយលយើងចាប់តាម Key របស់ Dictionary នីមួយៗ ចុំដណកោរទាញយក Key វិញ គឺលយើងលរបើ Properties Key របស់ Dictionary ។ 
For Each item AsStringIn animal.Keys 
MessageBox.Show(item) 
Next 
បនាាប់ពីអាកែុំលណើរោរ កូែខាងលលើលនោះវានឹងផ្ល់មកវិញនូវ Keys ទាុំងអស់របស់ Dictionary លនាោះ ។ 
 លុបែនមលលចញពី Dictionary 
លយើងលរបើ Properties Remove របស់ Dictionary លែើមបីលធវើោរលុបទិនាន័យ តាមរយៈ Key របស់ Dictionary។
Norton University Lesson 4 Subject ៖ VB.Net for Beginner 
Academic year: 2014-2015 Page 8 Lecturer: Msc OU Bundeth 
Method Remove ែរមូវឱ្យលយើងបញ្ញាក់ធាែុដែលចង់លុប animal.Remove(“squirrel”) មានលយើងលុប key ដែលមានល្មោះ squirrel លនោះរគ្នន់ដែជាោរលុបម្ងដែមួយប ុលណាណោះ ដែអាកលុបម្ងទាុំងអស់បានលោយលរបើ methods Clear animal.Clear()។ 
 ែលរមៀប Key របស់ Dictionary<Tkey,Tvalue> 
ោរែលរមៀប Dictionary លយើងអាចែលរមៀបតាមរយៈ Key របស់ Dictionary លនាោះ ។ ដែ Dictionary មិនមាន Method សរមាប់ែលរមៀបលនាោះលទែូចលនោះអាករែូវលធវើោរលផារ Key របស់ Dictionary ចូលលៅកាុង List ណាមួយ សិន បនាាប់មកលធវើ ោរែលរមៀប List លនាោះ ល ើយទាញយក Key លនាោះមកវិញ វានឹងលធវើោរែលរមៀបតាមលុំោប់លកើន ។ 
Dim nameanimal As List(OfString) 
nameanimal = animal.Keys.ToList 
nameanimal.Sort() 
For Each item AsStringIn nameanimal 
MessageBox.Show(animal(item)) 
Next 
តាមរយៈអែែបទ និង កូែខាងលលើលោកអាកអាចបលងកើែ និង លរបើ Dictionary បាន ល ើយ Dicitonary លនោះមាន ែុំលណើរោរ លលឿនជាង HashTable ទាុំងោរបញ្ចូល និង ោរលុបលចញពី HashTable លោយសារវា មាន DataType ចាស់ោស់មិនចាុំបាច់ Convert ពី DataType មួយលៅ DataType មួយលទៀែ ។

More Related Content

What's hot

What's new in Java 11
What's new in Java 11What's new in Java 11
What's new in Java 11
Michel Schudel
 
Everything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native ImageEverything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native Image
Alina Yurenko
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
Koichi Sakata
 
Java 9 New Features
Java 9 New FeaturesJava 9 New Features
Java 9 New Features
Ali BAKAN
 
RxJava - introduction & design
RxJava - introduction & designRxJava - introduction & design
RxJava - introduction & design
allegro.tech
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
Jonathan Holloway
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
Mohammed Fazuluddin
 
JVM Under The Hood WDI.pdf
JVM Under The Hood WDI.pdfJVM Under The Hood WDI.pdf
JVM Under The Hood WDI.pdf
Bartłomiej Żyliński
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overview
Jong Soon Bok
 
Projects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsProjects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 Projects
Sam Dias
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple Languages
Kris Mok
 
Spring Boot
Spring BootSpring Boot
Spring Boot
HongSeong Jeon
 
Spring core module
Spring core moduleSpring core module
Spring core module
Raj Tomar
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
Mariana de Azevedo Santos
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
OpenStack Korea Community
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
Hideki Saito
 
Java Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte CodeJava Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte Code
Javajigi Jaesung
 
Setting up an odi agent
Setting up an odi agentSetting up an odi agent
Setting up an odi agent
Dharmaraj Borse
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New Features
Ali BAKAN
 
Team Foundation Server 2015 Update 3 インストール 手順書 ~ SQL Server インストールから チームプロジェ...
Team Foundation Server 2015 Update 3インストール 手順書~ SQL Server インストールから チームプロジェ...Team Foundation Server 2015 Update 3インストール 手順書~ SQL Server インストールから チームプロジェ...
Team Foundation Server 2015 Update 3 インストール 手順書 ~ SQL Server インストールから チームプロジェ...
Masaki Takeda
 

What's hot (20)

What's new in Java 11
What's new in Java 11What's new in Java 11
What's new in Java 11
 
Everything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native ImageEverything you need to know about GraalVM Native Image
Everything you need to know about GraalVM Native Image
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
 
Java 9 New Features
Java 9 New FeaturesJava 9 New Features
Java 9 New Features
 
RxJava - introduction & design
RxJava - introduction & designRxJava - introduction & design
RxJava - introduction & design
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
JVM Under The Hood WDI.pdf
JVM Under The Hood WDI.pdfJVM Under The Hood WDI.pdf
JVM Under The Hood WDI.pdf
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overview
 
Projects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsProjects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 Projects
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple Languages
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring core module
Spring core moduleSpring core module
Spring core module
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
Java Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte CodeJava Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte Code
 
Setting up an odi agent
Setting up an odi agentSetting up an odi agent
Setting up an odi agent
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New Features
 
Team Foundation Server 2015 Update 3 インストール 手順書 ~ SQL Server インストールから チームプロジェ...
Team Foundation Server 2015 Update 3インストール 手順書~ SQL Server インストールから チームプロジェ...Team Foundation Server 2015 Update 3インストール 手順書~ SQL Server インストールから チームプロジェ...
Team Foundation Server 2015 Update 3 インストール 手順書 ~ SQL Server インストールから チームプロジェ...
 

Viewers also liked

Foundation Stones Intro 2: The Rock
Foundation Stones Intro 2: The RockFoundation Stones Intro 2: The Rock
Foundation Stones Intro 2: The Rock
Rick Bruderick
 
Have The Solid Rock Foundation - Philosophers
Have The Solid Rock Foundation - PhilosophersHave The Solid Rock Foundation - Philosophers
Have The Solid Rock Foundation - Philosophers
New Life Christian Church
 
Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...
Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...
Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...
Channarith Kem
 
Turnig machine for Engineer
 Turnig machine for Engineer Turnig machine for Engineer
Turnig machine for Engineer
Kum Visal
 
Danh sach sv cpc
Danh sach sv cpcDanh sach sv cpc
Danh sach sv cpcVai Savta
 
Foundation of the Rock or the Sand
Foundation of the Rock or the SandFoundation of the Rock or the Sand
Foundation of the Rock or the Sand
Pacific Church
 
Foundation Stones 02
Foundation Stones 02Foundation Stones 02
Foundation Stones 02
Rick Bruderick
 
Presentation
PresentationPresentation
Presentation
Bun Hong
 
Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...
Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...
Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...
Dr.Costas Sachpazis
 
HRM lesson
HRM lessonHRM lesson
HRM lessonSavoeng
 

Viewers also liked (10)

Foundation Stones Intro 2: The Rock
Foundation Stones Intro 2: The RockFoundation Stones Intro 2: The Rock
Foundation Stones Intro 2: The Rock
 
Have The Solid Rock Foundation - Philosophers
Have The Solid Rock Foundation - PhilosophersHave The Solid Rock Foundation - Philosophers
Have The Solid Rock Foundation - Philosophers
 
Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...
Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...
Khmer Civil Engineering Thesis Book - Cambodian Mekong University (Academic Y...
 
Turnig machine for Engineer
 Turnig machine for Engineer Turnig machine for Engineer
Turnig machine for Engineer
 
Danh sach sv cpc
Danh sach sv cpcDanh sach sv cpc
Danh sach sv cpc
 
Foundation of the Rock or the Sand
Foundation of the Rock or the SandFoundation of the Rock or the Sand
Foundation of the Rock or the Sand
 
Foundation Stones 02
Foundation Stones 02Foundation Stones 02
Foundation Stones 02
 
Presentation
PresentationPresentation
Presentation
 
Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...
Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...
Sachpazis Foundation Pad with Two Columns Analysis & Design According to EC2 ...
 
HRM lesson
HRM lessonHRM lesson
HRM lesson
 

មេរៀនទី ៤៖ Collection និង generic of VB.NET

  • 1. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 1 Lecturer: Msc OU Bundeth មេម ៀនទី ៤៖ Collection និង Generic 1 Array Array គឺជាបណ្ុុំនន Character/String ដែលវាខុសគ្នាដែលលខ Index ។ 2.1 Array One Dimension Array Declaration: Dim ArrayName(number) as DataType Ex: Dim arr() as String={“A”,”C”,”D”,”B”} Or Dim arr(3) as String arr(0)=“A” Arr(1)=“C” arr(2)=“D” arr(3)=“B” Ex: For i as integer=0 to arr.length-1 MessageBox.Show(arr(i)) Next Or For Each s As String in arr MessageBox.Show(s) Next - Lbound : វាមាននាទីសុំរាប់ Return នូវ Index ែុំបូងរបស់ Array ។ - Ubound មាននាទីសុំរាប់ Return មកវិញនូវធាែុចុងលរោយរបស់ Array។ - Resized មាននាទីសុំរាប់ពរងីកធាែុរបស់ Array - Reverse មាននាទីសុំរាប់រែលប់ធាែុរបស់ Array ។ - Sort មាននាទីសុំរាប់ែលរមៀបធាែុរបស់ Array ពីែូចលៅធុំ ។ Ex: Dim str() as String={“AB”,”AD”,”BA”,”ED”} Array.Sort(str) str.Reverse() For i as integer =0 to Ubound(str) MsgBox(str(i)) Next - Redim and ReDim Preserve + ReDim Ex: Dim str() as String={“AB”,”AD”,”BA”,”ED”} ReDim str(1) str(0)=“A” str(1)=“B” For Each s as String in str MessageBox.Show(s) Next + ReDim Preserve Ex: Dim str() as String={“AB”,”AD”,”BA”,”ED”}
  • 2. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 2 Lecturer: Msc OU Bundeth ReDim Preseve str(1) For Each s as String in str MessageBox.Show(s) Next - Length ជា Properties ដែលវាអាច Return មកវិញនូវធាែុដែលចុំនួនដែល Array លនាោះមាន 2.2 Array Two Dimension Array Declaration: Dim ArrayName(,) as DataType={{,},{,},{,}} - GetUpperBound មាននាទីសុំរាប់ទាញយក Indexចុងលរោយរបស់ Array លៅតាម Diamension ដែលកុំណែ់ ។ - Length មាន Return នូវ ចុំនួន Element ទាុំងអស់ ។ Ex: Dim arr( , ) as String ={{“ID”,”Name”,”Phone”},{“001”,”Dara”,”099251675”}, {“002”,”Sok”,”017251675”}} Dim result as String=“” For i as integer=0 to arr.GetUpperbound(0) Dim str as String=“” For j as integer=0 to arr.GetUpperBound(1) str += arr(I,j) + vbtab Next result += str + vbcrlf Next MessageBox.Show(result) 2. Collection 2.1 ArrayList ArrayList អនុញ្ញាែ្ិលអាយអាករកាទុកធាែុជាលរចើនវាមានលកខណៈែូចលៅនឹង Array ដែរ ។ វាលអាយលយើងអាច បដនែមធាែុលៅ ោន់ទីតាុំងណាមួយក៏បានដែរល ើយអាកក៏អាច Remove ធាែុណាមួយលចញពីវាក៏បាន ។ ArrayList គឺជា Dynamic Structure ដែល អាចលុប បញ្ចូល … ។ លែើមបីបលងកើែ ArrayList ជាែុំបូងលយើងរែូវបលងកើែ Instance របស់វាលៅថា Object របស់ Class Array List ជាមុនសិនលទើបលរបើ Method និង Properties របស់វាបានលោយសារវាជា Instance Class ។ Syntax: Dim ArrayName as New ArrayList(number) - រលបៀបរបោស និង បដនែមធាែុចូល ArrayList Ex: Dim arrlist As New ArrayList(3) arrlist.Add("A") arrlist.Add("B") arrlist.Add("C") For Each s As String In arrlist MessageBox.Show(s) Next - រលបៀបបដនែមធាែុលៅចលនាលោះ Index ណាមួយ Ex1: Dim arrlist As New ArrayList(3) arrlist.Add("A") arrlist.Add("B")
  • 3. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 3 Lecturer: Msc OU Bundeth arrlist.Add("C") arrlist.Insert(2, "E") For Each s As String In arrlist MessageBox.Show(s) Next Ex2: Dim arrlist As New ArrayList(3) arrlist.Add("A") arrlist.Add("E") arrlist.Add("F") Dim arr() As String = {"B", "C", "D"} arrlist.InsertRange(1, arr) For Each s As String In arrlist MessageBox.Show(s) Next - រលបៀបលុបធាែុណាមួយលចញពី ArrayList Ex: Dim arrlist As New ArrayList(3) arrlist.Add("A") arrlist.Add("E") arrlist.Add("F") Dim arr() As String = {"B", "C", "D"} arrlist.InsertRange(1, arr) arrlist.RemoveAt(3) For Each s As String In arrlist MessageBox.Show(s) Next - រលបៀប Sort ArrayList លែើមបី Sort ArrayList លោយលរបើរបាស់ Method Sort ។ ArrayList.Sort() - រលបៀបរែលប់ Element របស់ ArrayList លែើមបី Sort ArrayListលោយលរបើរបាស់ Method Reverse ។ ArrayList.Reverse() 2.2 Hash Table Hash Table មានលកខណៈែូចលៅនឹង ArrayList ដែរ ប ុដន្វាអនុញ្ញាែ្ិលអាយលយើងអាច Access ធាែុលោយលរបើ របាស់ Key រាល់ធាែុនីមួយៗ រែូវដែមានែុំនល (Value) និង key ។ែនមលលនោះរកាទុកែូចលៅនឹង ArrayList ដែរដែរគ្នន់ ដែ Index ជា Key វិញ មានន័យថាវាអាចជា String បាន ។ Syntax: Dim HashtableName as New HashTable Ex: Dim htable As New Hashtable htable.Add("Pen", "is the kind equivment of use in office") htable.Add("Apple", "is the kind of friut") htable.Add("Book", "is the paper that they compile it in a group of meaning") For Each s As String In htable.Keys
  • 4. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 4 Lecturer: Msc OU Bundeth MessageBox.Show(“Key is ”+s+” Value is”+htable(s)) Next ខាងលរោមលនោះជាោរ sort data លៅកាុង Hash Table ៖ Try Dim htable As New Hashtable htable.Add("b", "bbb") htable.Add("y", "yyy") htable.Add("a", "aaa") Dim arrkey(htable.Count - 1) As String Dim keys As ICollection = htable.Keys keys.CopyTo(arrkey, 0) Array.Sort(arrkey) For Each s As String In arrkey MessageBox.Show("Key is " + s + " Values is " + htable(s)) Next Catch ex As Exception MessageBox.Show((ex.Message)) End Try 3. Generic 3.1 List  អវីលៅជា List? Listលៅកាុង VB.NET គឺជា Class ដែលសែិែលៅកាុង namespace System.Collection.Generic ។ List គឺជា dynamic arrays មានមុខងារែូចនឹង Array ដែរ ប ុដន្វាមានសមែែភាពលលើស array លោយអាចឱ្យលយើងបដនែម ឬ បនែយ element ល ើយមាន methods លរចើនជាងដែលលធវើឱ្យលយើងងាយរសួលកាុងោរលធវើោរជាមួយវា ។ ខាងលរោមលនោះជារូបបងាាញពី List របលភទ string List<string> រចនា លគ ទុំព័រ កមមវិធីកុុំពយូទ ័រ Game ែបណា្ញ  ោរបលងកើែ លែើមបីអាចលរបើ List បានែុំបូងអាករែូវរបោស object របស់ List លនាោះសិន Type របស់ List លនោះអាចជា Data Type (int, string, double) ឬ element លផេងលទៀែែូចជា Label, TextBox ។ល។ ខាងលរោមលនោះជាកូែសរមាប់របោស List។ Imports System.Collections.Generic ... Dim skill As New List(Of Integer) មុននឹងលរបើ List<T> លយើងរែូវ using System.Collections.Generic; ជាមុនសិន លទើបលយើងអាចលរបើកូែ List<T> បាន ។ បនាាប់មកខ្ុុំរបោស object មួយល្មោះ animal ជា List របលភទ string ដែលមានន័យថា object animal អាចរកាទុកែនមលដែលមានរបលភទជា string ។
  • 5. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 5 Lecturer: Msc OU Bundeth ឥឡូវសូមគិែពីកូែខាងលរោមលនោះ Dim skill As New List(Of Label)  ោក់ែនមលចូល List List ដែលលយើងបានបលងកើែខាងលលើគឺជា object ទលទមួយដែលមិនទាន់មានធាែុ ឬ ែនមលអវីលទ ។ លែើមបីរកាទុកែនមលកាុង List លយើងរែូវលរបើ method Add skill.Add(“រចនា”) skill.Add(“លគ ទុំព័រ”) skill.Add(“កមមវិធីកុុំពយូទ ័រ”) skill.Add(“Game”) skill.Add(“ែបណា្ញ”) លោយសារដែ List ដែលលយើងបលងកើែមានរបលភទជា string (List)ែូចលនោះ parameter របស់ method Add ក៏រែូវដែជា string ផងដែរ ។ ខាងលរោមលនោះជាោរបលងកើែ List របលភទជា int ៖ Dim number As New List(Of Integer) number.Add(10) number.Add(7) List លធវើោរបានលអជាង និង ងាយរសួលលរបើជាង array លោយលយើងមិនបាច់របាប់ពីចុំនួន element ដែលលយើង ចង់ោក់លនាោះលទ ល ើយលយើងអាចបដនែមែនមលបានមិនកុំណែ់ ។ ោរលរបើ method Add លនាោះវានឹងបដនែមធាែុលៅដផាកខាង លរោយនន List ។ របសិនលបើអាកចង់បដនែមធាែុលៅ index ទី ១ ឬ index លផេងលទៀែលនាោះ អាកអាចលរបើ method Insert ។ skill.Insert(1, “ជួសជុលកុុំពយូទ ័រ”) កូែខាងលលើលនោះនឹងោក់ធាែុមួយដែលមានែនមល “ជួសជុលកុុំពយូទ ័រ” លៅ index ទី ១ នន List skill ។  ទាញែនមលមកលរបើ និង ដកែនមលរបស់ List សរមាប់ោរទាញែនមលពី List មិនលរបើ ឬ ដកគឺែូចនឹង array ដែរ លោយលយើងចាប់តាម index របស់ធាែុល ើយែនមល ណាដែល Add មុនលគសែិែលៅ index 0 ល ើយ Add ទី២ សែិែលៅ index 1 ។ skill(1) = “បលងកើែលគ ទុំព័រ” skill(2) = “បលងកើែកមមវិធីកុុំពយូទ ័រ” MsgBox(“ខ្ុុំចង់ោលយជាអាក” & skill(1) & “ និង អាក” & skill(2))  លុបែនមលលចញពី List<T> លយើងអាចលុបធាែុណាក៏បានដែរ លោយលរបើ method Remove ឬ RemoveAt ។ method Remove ែរមូវឱ្យលយើងបញ្ញាក់ធាែុដែលចង់លុប skill.Remove(“Game”) ឯ method RemoveAt ែរមូវឱ្យលយើងបញ្ញាក់ index ននធាែុដែលចង់លុប skill.RemoveAt(3) បនាាប់ពីលុបរួច ធាែុ “ែបណា្ញ” នឹងធាលក់មកលៅ index ទី ៣ ។ លលើសពីលនោះ List មាននូវ methods ជាលរចើនលទៀែសរមាប់លុបែូចជា ៖ RemoveRange និង Clear ។
  • 6. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 6 Lecturer: Msc OU Bundeth skill.RemoveRange(1, 2) កូែខាងលលើគឺលុបចាប់ពី index ទី ១ ល ើយលុប ២ ធាែុ (លនោះមានន័យថាលុប index ទី ១ និង ទី ២) skill.Clear() „ លុបធាែុទាុំងអស់  ោរលរបើ List និង ផលរបលោជន៍ តាមរយៈអែែបទ និង កូែខាងលលើលោកអាកអាចបលងកើែ និង លរបើ List បានល ើយ ។ List ផ្ល់ឱ្យលោកអាកនូវ methods និង properties មួយចុំនួនលទៀែែូចជា Count, Contains, Reverse និង Sort ដែលនឹងជួយ សរមួលោរលរបើ List របស់ លោកអាក ។ - Count ជា properties សរមាប់រាប់ចុំនួនធាែុដែលមានកាុង List Message.Show(“លយើងមានជុំនាញចុំនួន ” + skill.Count) - Contains ជា method សរមាប់រកលមើលថាលែើ List មានែនមលដែលបានកុំណែ់ឬអែ់ If skill.Contains(“ែបណា្ញ”) Then Message.Show(“អាកអាចសិកាជុំនាញលនោះបាន ។”) End If - Sort ជា method សរមាប់ែុំលរៀបធាែុកាុង List តាមែនមលពីែូចលៅធុំ skill.Sort() លោកអាកក៏អាចកុំណែ់របលភទជាលរចើនននោរែុំលរៀបលនោះលោយលរបើ Comparison ដែលខ្ុុំនឹងមិនបងាាញកាុងអែែបទលនោះលទ ។ លរៅពី methods ខាងលលើលនោះក៏មាននូវ methods ជាលរចើនលទៀែ ដែខ្ុុំសូមមិនបងាាញលនាោះលទ លររោះវាមានករមិែ លរៅ ។ លោយសារដែ List មានធាែុជាលរចើនលៅកាុងលនាោះ ែូចលនោះលយើងរែូវលរបើ Loop របសិនលបើលយើងចង់លធវើោរជាមួយ ធាែុទាុំងអស់ ។ ឧទា រណ៍របសិនលបើលយើងចង់បដនែមរកយ “អាក” លៅពីមុខែនមលននធាែុទាុំងអស់ ល ើយបងាាញវា For i As Integer=1 To skill.Count MessgeBox.Show(“អាក” & skill(i)) Next កូែ for loop ខាងលលើលនោះងាយរសួលយល់សរមាប់អាក Programming ទូលៅ ប ុដន្វាមានលកខណៈយឺែជាងរបដ ល ២ែង លបើលរបៀបលធៀបជាមួយោរលរបើ foreach (សូមលមើលកូែ foreach ខាងលរោម) For Each s In skill MessgeBox.Show(“អាក” & s) Next ឥឡូវសាកចាប់លផ្ើមលរបើ List<T> ជុំនួស array កមមវិធីដែលអាកបលងកើែនឹងរែូវោរ memory ែិច ល ើយោរសរលសរកូែរបស់អាក នឹងងាយជាងមុន ។ 3.2 Dictionary  អវីលៅជា Dictionary? Dictionary គឺជា Class មួយដែលសែិែលៅកាុង namespace System.Collections.Generic; ។ Dictionary គឺវាមាន លកខណៈរសលែៀងលៅនឹងលៅនឹង List ដែរ ដែវាខុសគ្នាដែ Keys និង Index ចុំលរោះ List លយើងលរបើលលខសរមាប់លធវើជា Index ចុំដណកឯ Dictionary វាលរបើ Keys លធវើជា Index ែូចលនោះវាអាចផាុកបានែនមលជា String ក៏បាន ជាែនមលលលខ ឬ Object ក៏បាន។  អែែរបលោជន៍ននោរលរបើ Dictionary Dictionary ផ្ល់ឱ្យលោកអាកនូវ methods និង properties មួយចុំនួនលទៀែ ែូចជា ៖ ContainsKey, ContainsValue, Remove, Keys, Values ល ើយវាក៏មានែួនាទីោ ង សុំខាន់ កាុងោរលរបើសរមាប់បលងកើែ Dictionary លោយសារវាមាន Key និង Value រសាប់មិនដែ ប ុលណាណោះវាមាន method រួចជាលរសច កាុងោរដសវងរកនូវ Key និង Value ណាមួយ ។ ខាងលរោមលនោះជារូបបងាាញពី Dictionary របលភទជា String, String
  • 7. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 7 Lecturer: Msc OU Bundeth Dictionary<string, string> Keys Values squirrel កុំរបុក monkey សាវ rabbit ទនាយ  ោរបលងកើែ Dictionary លែើមបីអាចលរបើ Dictionary ជាែុំបូងរែូវរបោស Object របស់ Dictionary លនាោះជា មុនសិនដែលមាន Key ជា Index ល ើយរែូវនឹងែនមល (TValue) ឧទា រណ៍ Squirrel ជា Key ល ើយរែូវនឹង Value កុំរបុក។ DataType របស់ Key និង Value អាចជា Data Type (int, string, double) ឬ element លផេងលទៀែែូចជា Label, TextBox ។ល។ ខាងលរោមលនោះជាកូែ សរមាប់របោស Dictionary<TKey,TValue> Imports System.Collections.Generic ... Dim animal AsNew Dictionary(OfString, String) - មុននឹងលរបើ Dictionary លយើងរែូវ using System.Collections.Generic; ជាមុនសិនលទើបអាចលរបើកូែ Dictionary បាន ។ - បនាាប់មកលយើងបលងកើែ Object មួយល្មោះ animal Dictionary ដែលមាន key ជា String និង Value ជា String  ោក់ែនមលចូល Dictionary<Tkey,TValue> Dictionary ដែលលយើងបានបលងកើែខាងលលើគឺជា Object ទលទមួយ ដែលមិនទាន់មានធាែុ ឬ ែនមលអវីលទ ។លែើមបីរកា ទុកែនមលកាុង Dictionary លយើងរែូវលរបើ Method Add ។ animal.Add("squirrel", "កុំរបុក") animal.Add("monkey", "សាវ") animal.Add("rabbit", "ទនាយ") Dictionary លយើងអាចលរបើ Method Add លនាោះលធវើោរបដនែមទិនាន័យលៅខាងលរោម Dicitonary បានលោយមិន ចាុំបាច់កុំណែ់ធាែុជាមុនលទ ។ លោយសារដែ Dictionary ដែលលយើងបលងកើែមានរបលភទ Key ជា String និង Value ជា String(Dictionary)ែូចលនោះ Parameter របស់ Method Add ក៏រែូវដែជា String ផងដែរ ។  លរបើ និង ដកែនមលរបស់ Dictionary សរមាប់ោរទាញែនមលពី Dictionary មកលរបើ ឬ ដកគឺែូចនឹង HashTable ដែរ លោយលយើងចាប់តាម Key របស់ Dictionary នីមួយៗ ចុំដណកោរទាញយក Key វិញ គឺលយើងលរបើ Properties Key របស់ Dictionary ។ For Each item AsStringIn animal.Keys MessageBox.Show(item) Next បនាាប់ពីអាកែុំលណើរោរ កូែខាងលលើលនោះវានឹងផ្ល់មកវិញនូវ Keys ទាុំងអស់របស់ Dictionary លនាោះ ។  លុបែនមលលចញពី Dictionary លយើងលរបើ Properties Remove របស់ Dictionary លែើមបីលធវើោរលុបទិនាន័យ តាមរយៈ Key របស់ Dictionary។
  • 8. Norton University Lesson 4 Subject ៖ VB.Net for Beginner Academic year: 2014-2015 Page 8 Lecturer: Msc OU Bundeth Method Remove ែរមូវឱ្យលយើងបញ្ញាក់ធាែុដែលចង់លុប animal.Remove(“squirrel”) មានលយើងលុប key ដែលមានល្មោះ squirrel លនោះរគ្នន់ដែជាោរលុបម្ងដែមួយប ុលណាណោះ ដែអាកលុបម្ងទាុំងអស់បានលោយលរបើ methods Clear animal.Clear()។  ែលរមៀប Key របស់ Dictionary<Tkey,Tvalue> ោរែលរមៀប Dictionary លយើងអាចែលរមៀបតាមរយៈ Key របស់ Dictionary លនាោះ ។ ដែ Dictionary មិនមាន Method សរមាប់ែលរមៀបលនាោះលទែូចលនោះអាករែូវលធវើោរលផារ Key របស់ Dictionary ចូលលៅកាុង List ណាមួយ សិន បនាាប់មកលធវើ ោរែលរមៀប List លនាោះ ល ើយទាញយក Key លនាោះមកវិញ វានឹងលធវើោរែលរមៀបតាមលុំោប់លកើន ។ Dim nameanimal As List(OfString) nameanimal = animal.Keys.ToList nameanimal.Sort() For Each item AsStringIn nameanimal MessageBox.Show(animal(item)) Next តាមរយៈអែែបទ និង កូែខាងលលើលោកអាកអាចបលងកើែ និង លរបើ Dictionary បាន ល ើយ Dicitonary លនោះមាន ែុំលណើរោរ លលឿនជាង HashTable ទាុំងោរបញ្ចូល និង ោរលុបលចញពី HashTable លោយសារវា មាន DataType ចាស់ោស់មិនចាុំបាច់ Convert ពី DataType មួយលៅ DataType មួយលទៀែ ។