កញ្ញា
ការប្រើ List <T> នៅក្នុង C#
មុននឹងចាប់ផ្តើមអានអត្ថបទនេះលោកអ្នកត្រូវមានចំណេះដឹងមូលដ្ឋានលើភាសា C# ជាមុនសិន ។
អ្នកសិក្សា .NET ជាច្រើនតែចង់សិក្សាពីបច្ចេកវិទ្យា .NET ជំនាន់ចុងក្រោយគេដូចជា C# 4.0, VB.NET 10, ASP.NET 4.0 និងចំណាយថវិការជាច្រើនទិញកុំព្យូទ័រស៊េរីខ្ពស់ៗ ដើម្បី Visual Studio 2010 ។ នេះជាការគិតដ៏ត្រឹមត្រូវមួយ ក្នុងនាមជាអ្នកជំនាញព័ត៌មានវិទ្យាត្រូវឈោងចាប់បច្ចេកវិទ្យាថ្មីៗ ។ ប្រសិនបើអ្នកជាអ្នកបង្កើតកម្មវិធី និង គេហទំព័រដោយប្រើ .NET តើអ្នកដឹង Generic ឬ List<T> ឬទេ?
អ្វីទៅជា List<T>?
List<T> គឺជាកូដ C# (កុំច្រឡំមិនមែនកូដ HTML) ដែលស្ថិតនៅក្នុង namespace System.Collection.Generic ។ List<T> គឺជា dynamic arrays មានមុខងារដូចនឹង Array ដែរ ប៉ុន្តែវាមានសមត្ថភាពលើស array ដោយអាចឲ្យយើងបន្ថែម ឬ បន្ថយ element ហើយមាន methods ច្រើនជាង ដែលធ្វើឲ្យយើងងាយស្រួលក្នុងការធ្វើការជាមួយវា ។
ខាងក្រោមនេះជារូបបង្ហាញពី List ប្រភេទ string
ការបង្កើត
ដើម្បីអាចប្រើ List<T> បានដំបូងអ្នកត្រូវប្រកាស object របស់ List<T> នោះសិន ដែល T គឺជា Type នៃធាតុដែលយើងចង់ដាក់ក្នុង List ។ Type នេះអាចជា Data Type (int, string, double) ឬ element ផ្សេងទៀតដូចជា Label, TextBox ។ ល ។
ខាងក្រោមនេះជាកូដសម្រាប់ប្រកាស List<T>
C#
using System.Collections.Generic;
……
List<string> skill = new List<string> () ;
VB.NET
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 ។
ឥឡូវសូមគិតពីកូដខាងក្រោមនេះ៖
List<Label> skill = new List<Label> () ;
ដាក់តម្លៃចូល List<T>
List ដែលយើងបានបង្កើតខាងលើគឺជា object ទទេមួយ ដែលមិនទាន់មានធាតុ ឬ តម្លៃអ្វីទេ ។ ដើម្បីរក្សាទុកតម្លៃក្នុង List យើងត្រូវប្រើ method Add
skill.Add (“រចនា”) ;
skill.Add (“គេហទំព័រ”) ;
skill.Add (“កម្មវិធីកុំព្យូទ័រ”) ;
skill.Add (“Game”) ;
skill.Add (“តបណ្តាញ”) ;
ដោយសារតែ List ដែលយើងបង្កើតមានប្រភេទជា string (List<string>) ដូចនេះ parameter របស់ method Add ក៏ត្រូវតែជា string ផងដែរ ។ ខាងក្រោមនេះជាការបង្កើត List ប្រភេទជា int
List<int> number = new List<int> () ;
number.Add (10) ;
number.Add (7) ;
List ធ្វើការបានល្អជាង និង ងាយស្រួលប្រើជាង array ដោយយើងមិនបាច់ប្រាប់ពីចំនួន element ដែលយើងចង់ដាក់នោះទេ ហើយយើងអាចបន្ថែមតម្លៃបានមិនកំណត់ ។
ការប្រើ method Add នោះវានឹងបន្ថែមធាតុទៅផ្នែកខាងក្រោយនៃ List ។ ប្រសិនបើអ្នកចង់បន្ថែមធាតុទៅ index ទី ១ ឬ index ផ្សេងទៀតនោះ អ្នកអាចប្រើ method Insert ។
skill.Insert (1, “ជួសជុលកុំព្យូទ័រ”) ;
កូដខាងលើនេះនឹងដាក់ធាតុមួយដែលមានតម្លៃ “ជួសជុលកុំព្យូទ័រ” ទៅ index ទី ១ នៃ List skill ។
ទាញតម្លៃមកប្រើ និង កែតម្លៃរបស់ List<T>
សម្រាប់ការទាញតម្លៃពី List មិនប្រើ ឬ កែគឺដូចនឹង array ដែរ ដោយយើងចាប់តាម index របស់ធាតុ ហើយតម្លៃណាដែល Add មុនគេស្ថិតនៅ index 0 ហើយ Add ទី២ ស្ថិតនៅ index 1 ។
skill [1] = “បង្កើតគេហទំព័រ”;
skill [2] = “បង្កើតកម្មវិធីកុំព្យូទ័រ”;
Console.WriteLine (“ខ្ញុំចង់ក្លាយជាអ្នក” + skill [1] + “ និង អ្នក” + skill [2] ) ;
លុបតម្លៃចេញពី List<T>
យើងអាចលុបធាតុណាក៏បានដែរ ដោយប្រើ method Remove ឬ RemoveAt
method Remove តម្រូវឲ្យយើងបញ្ជាក់ធាតុដែលចង់លុប
skill.Remove (“Game”) ;
ឯ method RemoveAd តម្រូវឲ្យយើងបញ្ជាក់ index នៃធាតុដែលចង់លុប
skill.RemoveAt (3) ;
បន្ទាប់ពីលុបរួច ធាតុ “តបណ្តាញ” នឹងធ្លាក់មកនៅ index ទី ៣ ។
លើសពីនេះ List មាននូវ methods ជាច្រើនទៀតសម្រាប់លុបដូចជា ៖ RemoveRange និង Clear ។
skill.RemoveRange (1, 2) ;
កូដខាងលើគឺលុបចាប់ពី index ទី ១ ហើយលុប ២ ធាតុ (នេះមានន័យថាលុប index ទី ១ និង ទី ២)
skill.Clear () ; // លុបធាតុទាំងអស់
ការប្រើ List<T> និង ផលប្រយោជន៍
តាមរយៈអត្ថបទ និង កូដខាងលើលោកអ្នកអាចបង្កើត និង ប្រើ List<T> បានហើយ ។ List<T> ផ្ដល់ឲ្យលោកអ្នកនូវ methods និង properties មួយចំនួនទៀតដូចជា Count, Contains, Reverse និង Sort ដែលនឹងជួយសម្រួលការប្រើ List របស់លោកអ្នក ។
- Count ជា properties សម្រាប់រាប់ចំនួនធាតុដែលមានក្នុង List
Message.Show (“យើងមានជំនាញចំនួន ” + skill.Count) ;
- Contains ជា method សម្រាប់រកមើលថាតើ List មានតម្លៃដែលបានកំណត់ ឬអត់
if (skill.Contains (“តបណ្តាញ”) )
{
Message.Show (“អ្នកអាចសិក្សាជំនាញនេះបាន ។ ”) ;
}
- Sort ជា method សម្រាប់តម្រៀបធាតុក្នុង List តាមតម្លៃពីតូចទៅធំ
skill.Sort () ;
លោកអ្នកក៏អាចកំណត់ប្រភេទជាច្រើននៃការតម្រៀបនេះដោយប្រើ Comparison ដែលខ្ញុំនឹងមិនបង្ហាញក្នុងអត្ថបទនេះទេ ។
ក្រៅពី methods ខាងលើនេះក៏មាននូវ methods ជាច្រើនទៀត តែខ្ញុំសូមមិនបង្ហាញនោះទេ ព្រោះវាមានកម្រិតជ្រៅ ។
ដោយសារតែ List<T> មានធាតុជាច្រើននៅក្នុងនោះ ដូចនេះយើងត្រូវប្រើ Loop ប្រសិនបើយើងចង់ធ្វើការជាមួយធាតុទាំងអស់ ។
ឧទាហរណ៍ប្រសិនបើយើងចង់បន្ថែមពាក្យ “អ្នក” នៅពីមុខតម្លៃនៃធាតុទាំងអស់ ហើយបង្ហាញវា
កូដ for loop ខាងលើនេះងាយស្រួលយល់សម្រាប់អ្នក Programming ទូទៅ ប៉ុន្តែវាមានលក្ខណៈយឺតជាងប្រហែល ២ដង បើប្រៀបធៀបជាមួយការប្រើ foreach (សូមមើលកូដ foreach ខាងក្រោម)
ឥឡូវសាកចាប់ផ្តើមប្រើ List<T>ជំនួស array កម្មវិធីដែលអ្នកបង្កើតនឹងត្រូវការ memory តិចហើយការសរសេរកូដរបស់អ្នកនឹងងាយជាងមុន ។
មតិ និងយោបល់ទៅលើអត្ថបទនេះ (តាម Facebook)
ខាងក្រោមនេះជាយោបល់ផ្សេងៗរបស់អ្នកទស្សនា