For Android device For iOS device
១៥
មិថុនា

ការប្ដូរ DataType ក្នុង .NET

នៅ​ក្នុង​ភាសារបស់ .NET (C# និង VB.NET) compiler គឺជា​ផ្នែក​មួយ​របស់ .NET Framework មាននាទីជាអ្នកបកប្រែកូដ​ដែល​យើងបាន​សរសេរ​ទៅជាភាសាម៉ាស៊ីន​ដែល​កុំព្យូទ័រ​អាចយល់បាន ។ Compiler ត្រូវតែយល់​នូវ​ប្រភេទ​របស់ Data (DataType) ដែល​ប្រើ​នៅ​ក្នុង​កូដជាមុនសិន ទើបអាច​ធ្វើការ​បកប្រែបាន ។ ឧទាហរណ៍​ប្រសិនបើ​អ្នក​សរសេរ​ “540” + 23 នោះ compiler នឹងមានការភ័ន្ត​ច្រឡំ​ដោយ​មិនដឹង​ថា​តើអ្នកចង់ធ្វើអ្វី​ព្រោះ​យើង​មិនអាច​យក String បូក​ជាមួយនឹង Number បានទេ ដូចនេះទើប compiler ​តម្រូវ​ឲ្យ​ប្ដូរ DataType ​ឲ្យ​ដូច​គ្នា​ជាមុនសិន ។

ពេលនេះ​ទស្សនាវដ្ដី និង​ថ្នាក់​បណ្តុះបណ្តាល​កុំព្យូទ័រ​អាន-ANT យើងនឹងលើកយកពីការប្ដូរពី DataType មួយទៅ DataType មួយទៀតមក​បង្ហាញ ។

នៅ​ក្នុង​ភាសា C# ​ក៏​ដូចជា VB.NET គឺមាន​នូវ​វិធីជា​ច្រើន​សម្រាប់​ធ្វើការ​ប្ដូរ DataType ​ដែល​ក្នុង​អត្ថបទនេះ​ខ្ញុំ​សូម​បង្ហាញ​នូវ​វិធីចំនួន៣គឺ ៖

1. តាម method របស់ class Convert

2. តាម method Parse () របស់ String

3. តាមវិធី Casting

♦ ការ​ប្រើ Method របស់ class Convert

Convert គឺជា static class ​ដែល​អាច​បំប្លែង​បានគ្រប់ DataType ​ទាំងអស់​ដោយ​ប្រើ​ប្រាស់​បណ្តា method ​ដែល​មាននៅ​ក្នុង Class មាន​ដូចជា​ToInt16 () , ToInt32 () , ToInt64 () , ToString () , ToBoolean () , ToChar () និង method ជា​ច្រើន​ទៀត ។

នេះជាតារាង​សម្រាប់​ប្រាប់ពី​តួនាទី​របស់ Method ​នីមួយៗ​នៅ​ក្នុង Class Convert

ឧទាហរណ៍៖

♦ កូដ C#

♦ កូដ VB.NET

​ចំណាំ​៖ ​ក្នុង​ការ Convert ​តម្លៃ​ពី String ទៅ​តម្លៃ​ដែល​មាន DataType ​ដូចជា DateTime, Boolean ឬ​ពពួក numeric តម្លៃ​របស់ string ត្រូវ​តែផ្ទុក​នូវ​តម្លៃ​ដែល​ជា​ប្រភេទ​ដែល​យើងចង់ Convert ទៅ បើមិនដូចច្នោះទេ​វានឹង​មាន Error runtime កើតឡើង ។

ឧទាហរណ៍៖

កូដ C#

កូដ VB.NET

ការ​ប្រើ Method Parse () និង​ TryParse () របស់ String

Method ​ទាំងពីរ​នេះ​ធ្វើការ Convert ពី String ​ទៅកាន់​ប្រភេទ​នៃ DataType ដទៃ​ទៀត​ដូចជា Boolean ពពួក numeric និង DateTime ប៉ុន្តែ​អ្វី​ដែល​ខុស​គ្នា​នោះគឺ Method TryParse () មិនបណ្តាល​ឲ្យ​មាន Exception (Error run time) កើតឡើងទេ​នៅពេល​ដែល​វា​ធ្វើការ Convert ​មិនបាន ហើយ​វានឹង​ return ​តម្លៃ​ជា null តែម្តង ។
ចំពោះការ
Convert ​តាមរយៈ Method ​ទាំងពីរ​នេះ តម្លៃ String ​ដែល​យើងចង់​ធ្វើការ Convert ត្រូវតែមាន​ទម្រង់​ជា​ប្រភេទ DataType ​ដែល​យើងចង់ Convert ទៅ ។

Parse ()

ឧទាហរណ៍៖

កូដ C#

កូដ VB.NET

"4/5/16" ជាstring​ដែល​មាន​ទម្រង់​ជា DateTime

​ប្រសិនបើ​យើង​ផ្ដល់​តម្លៃ​ string ​ដែល​ត្រូវ Convert មិនមាន​ទម្រង់​ដូចទៅនឹង​ប្រភេទ DataType ​ដែល​យើងចង់ Convert ទេនោះ វានឹង​កើតមាន Exception (Error Run Time) កើតឡើងជាមិនខាន ។

TryParse ()

ឧទាហរណ៍៖

កូដ C#

កូដ VB.NET

​តម្លៃ String ​ដែល​ស្ថិតនៅ​ក្នុង​វង់ក្រចកមិនមាន​ទម្រង់​ជា datetime ទេ តែវា​ក៏​នឹងមិនមាន Exception កើតឡើងដែរ នៅចុង​បញ្ចប់​វានឹង return ​តម្លៃ false ហើយនិងបោះ​តម្លៃ 01-01-0001 ​ដែល​ជា​តម្លៃ​ចាប់ផ្តើមរបស់ datetime ទៅ​ឲ្យ variable d

កូដ C#

កូដ VB.NET

​ចំណាំ​៖

នេះជាហេតុផល​ដែល​អាច​ឲ្យ​យើង​ធ្វើការ​សម្រេច​ចិត្តថា តើគួរ​ប្រើ​របៀបនៃការ​បំប្លែង​មួយណា ដែល​យើងគួរ​តែយកមក​ប្រើ ។ ចំពោះការ​បំប្លែង​តាមរយៈ​ការ​ប្រើ​ប្រាស់ method នៅ​ក្នុង Class Convert ទោះជាវាមិន​បណ្តាល​ឲ្យ​មានការ Error ​នៅពេល​ដំណើរ​ការ​យ៉ាង​ណា​ក៏​ដោយ វានៅតែមានគុណវិបត្តិ ដែល​យើងជាអ្នក Programming គួរតែគិតនោះគឺ​ល្បឿន​ក្នុង​ការ​ដំណើរ​ការ ដែល​ធ្វើ​ឲ្យ​យើងគិតទៅដល់ Method Parse ()

ការ​ប្រើ​តាម Casting

ជា​ទូទៅ​ការ​បំប្លែង​នៅ​ក្នុង C# គឺមានពីរ​ប្រភេទ​គឺ Implicit និងExplicit

Implicit គឺជាការ​បំប្លែង​ដោយស្វ័យ​ប្រវត្តិ និង មិនមានការបាត់បង់ Data អ្វីឡើយពី​ព្រោះ​វា​ធ្វើការ​បំប្លែង​ពី DataType ​ដែល​មាន bit តូច​ទៅកាន់ DataType type ​ដែល​មាន bit ធំ ។

ឧទាហរណ៍៖

កូដ C#

កូដ VB.NET

យើងមិនចាំបាច់​បំប្លែង​អ្វី​ទាំងអស់ Compiler នឹង​ធ្វើការ​​បំប្លែង​ដោយស្វ័យ​ប្រវត្តិ ។

Explicit ​ប្រសិនបើ​យើងចង់​ធ្វើការ​ផ្ដល់​តម្លៃ​ពី Double ​ទៅកាន់ Int វិញម្តង យើង​មិនអាច​បោះ​តម្លៃ​ដូច​ខាងលើ​បានទេ គឺត្រូវ​ធ្វើការ Casting ​ទៅលើ​តម្លៃ​នោះជាមុនសិន ។ តែចំពោះការ Casting អាចនឹងមានការបាត់បង់ dataError កើតឡើង

ឧទាហរណ៍៖

កូដ C#

កូដ VB.NET

ចំពោះ​តម្លៃ​ដែល​ផ្ដល់​ឲ្យ​ទៅ intVal គឺមានតែ ៣០០ ប៉ុណ្ណោះ ដូចនេះហើយបានជាយើងនិយាយ​ខាងលើ​ថាការ Casting អាចធ្វើ​ឲ្យ​មានការបាត់បង់ Data

​ចំណាំ​ casting អាច convert បានតែពួក numeric ​ទៅកាន់​ពពួក numeric ឬ​ class ​ទៅកាន់ Class (derieve class ទៅ base class) ដូច​គ្នា​ប៉ុណ្ណោះ (compartible DataType)

♦ រៀបរៀងអត្ថបទដោយ ៖ កញ្ញា ហ៊ាន ម៉ាលាភ ដកស្រង់ចេញពី​ទស្សនាវដ្ដី​អាន-ANT 

♦ វគ្គ​សិក្សា C# Beginning តម្លៃ ៧០ដុល្លា http://training.antkh.com/csharp_for_beginner.aspx

♦ សូម​ចូលរួម​ជាសមាជិក ANT Training Group ដើម្បី​តាមដានសម្មភាពប្រចាំ​ថ្ងៃ​ជាមួយអាន-ANT
♦ ចុច Like គេហទំព័រ www.antkh.com ដើម្បី​ទទួលបានអត្ថបទថ្មីៗ​ដែល​ទាក់ទងនឹង​បច្ចេកវិទ្យា​រៀងរាល់​ថ្ងៃ​

មតិ និង​យោបល់​ទៅលើ​អត្ថបទ​នេះ (តាម Facebook)

ខាងក្រោម​នេះ​ជា​យោបល់​ផ្សេងៗ​របស់​អ្នកទស្សនា