មេរៀន VC#.NET-ប៉ារ៉ាម៉្រែត Array

មេរៀន VC#.NET-ប៉ារ៉ាម៉្រែត Array
1. បង្កើត Overloaded Method
Overload គឺជាបច្ចេកទេសសំរាប់ប្រកាស declare ពីរឬ ច្រើន methods ជាមួយឈ្មោះដូចគ្នានៅក្នុង scope ដូចគ្នា ។ ចាប់ផ្តើមអាចធ្វើ overload method គឺប្រើក្នុងករណីកន្លែងដែលអ្នកចង់ចាត់ចែង សកម្មភាព នៅលើ arguments នៃប្រភេទខុសគ្នា ។ ឧទាហរណ៍ overload ក្នុងកម្មវិធី Microsoft Visual C# is Console.WriteLine ។ WriteLine method គឺជា overloaded ប្រើរយះពេលដ៏ធំដែលអ្នកអាចផ្ញើទៅក្នុងប្រភេទ primitive argument:
class Console
{
public static void WriteLine(int parameter)

public static void WriteLine(double parameter)

public static void WriteLine(decimal parameter)

}
2. ប្រើប្រាស់ Array Argument គឺជាមធ្យោបាយអ្នកនឹងអាចរកឃើញអប្បរិមានៃ តំលៃចំនួនអថេរ នឹងប្រើ ទៅក្នុង array មួយ ។ ឧទាហរណ៍ ដើម្បីរកតំលៃតូចបំផុតនៃ int អ្នកនឹងអាចសរសេរ static method ដែលហៅថា Min ដែល parameter ទោលដែលគឺជា តំលៃ array នៃ int:
class Util
{
public static int Min(int[] paramList)
{
if (paramList == null || paramList.Length == 0)
{
throw new ArgumentException(“Util.Min”);
}
int currentMin = paramList [0];
foreach (int i in paramList)
{
if (i < currentMin)
{
currentMin = i;
}
}
return currentMin;
}
}
ដើម្បីប្រើ Min method សំរាប់រកមើលតំលៃអប្បរិមាពីរនៃ int អ្នកនឹង សរសេរដូចនេះ:
int[] array = new int[2];
array[0] = first;
array[1] = second;
int min = Util.Min(array);
ដើម្បីប្រើ Min method សំរាប់រកតំលៃអប្បរិមានៃ បីចំនួន int អ្នកនឹង សរសេរដូចនេះ:
int[] array = new int[3];
array[0] = first;
array[1] = second;
array[2] = third;
int min = Util.Min(array);
ប្រកាស params Array
អ្នកអាចប្រើពាក្យគន្លឹះ params ដូចជា array parameter មួយដែល ផ្លាស់ប្តូរ ឧទាហរណ៍ Min ពេលនេះប្រើជាមួយ array parameter ដែល
ប្រកាស declared ដូចជា params array:
class Util
{
public static int Min(params int[] paramList)
{
// code exactly as before
}
}
លទ្ធផលនៃពាក្យគន្លឹះ params នៅលើ Min method គឺវាអនុញ្ញាត អោយអ្នកហៅវាដោយប្រើចំនួនគត់ integer arguments ។ ឧទាហរណ៍ រក តំលៃអប្បបរិមានៃពីរចំនួនគត់ integer អ្នកនឹងអាចសរសេរដូចនេះ:
int min = Util.Min(first, second);
និង compiler បកប្រែហៅទៅក្នុង code ខាងក្រោមនេះ:
int[] array = new int[2];
array[0] = first;
array[1] = second;
int min = Util.Min(array);
ដើម្បីរកតំលៃអប្បបរិមានៃបីតំលៃចំនួនគត់ អ្នកនឹងសរសេរដូចនេះ:
int min = Util.Min(first,second,third);
រួចហើយ compiler បកប្រែហៅទៅក្នុង code ខាងក្រោមនេះ:
int[] array = new int[3];
array[0] = first;
array[1] = second;
array[2] = third;
int min = Util.Min(array);
មានចំណុចជាច្រើនដែលមិនល្អអំពី params arrays:

· អ្នកអាចប្រើពាក្សគន្លឹះគ្រាន់តែជា single-dimension arrays​ ដូចឧទាហរណ៍នេះ:
// compile-time error
public static int Min(params int[,] table)

­ អ្នកមិនអាច overload មូលដ្ឋាននៅលើពាក្យគន្លឹះ params ។ ពាក្យ គន្លឹះ params មិនមាន form នៃ method ដូចបង្ហាញក្នុងឧទាហរណ៍ក្រោមនេះ
// compile-time error: duplicate declaration
public static int Min(int[] paramList)

public static int Min(params int[] paramList)

­ អ្នកមិនអនុញ្ញាត ref ឬ out params arrays ដូចបង្ហាញឧទាហរណ៍ ខាងក្រោមនេះ:
// compile-time errors
public static int Min(ref params int[] paramList)

public static int Min(out params int[] paramList)

­ params array មួយត្រូវតែ parameter ពីមុន (នេះមានន័យថាអាច មាន params array ក្នុង method) ឧទាហរណ៍ខាងក្រោមនេះ:
// compile-time error
public static int Min(params int[] array,int i)
­ compiler រាវរក rejects និងអនុភាពមិនច្បាស់លាស់នៃ overloads ។ ឧទាហរណ៍ ខាងក្រោមនេះមានពីរ Min methods មិនច្បាស់
លាស់; វាមិនច្បាស់លាស់ដែលមិនហៅផ្ញើទៅពីរ int arguments:
// compile-time error
public static int Min(params int[] paramList)

public static int Min(int, params int[] paramList)

­ មិនមាន non-params method ដែលតែងតែមានអទិភាពលើ params method ។ នេះមានន័យថាប្រសិនបើអ្នកចង់ធ្វើ អ្នកអាចនៅតែ overload សំរាប់ករណីរួមឧទាហរណ៍:
public static int Min(int leftHandSide, int rightHandSide)

public static int Min(params int[] paramList)

3. Console.WriteLine
Console class ដែលផ្ទុកនៅលើ overloads ច្រើនសំរាប់ WriteLine method មួយនៃ overloads ទាំងនេះមើលឃើញដូចខាងក្រោមនេះ:
public static void WriteLine(string format, params object[] arg);
ឧទាហរណ៍ នៃការហៅ method:
Console.WriteLine(“Name:{0}, Age:{1}”, name, age);
compiler ដោះស្រាយហៅនៅក្នុងដូចខាងក្រោមនេះ:
Console.WriteLine(“Name:{0}, Age:{1}”, new object[2]{name, age});
ប្រើ params Array
ក្នុងលំហាត់បន្ទាប់នេះ អ្នកនឹងធ្វើការជាមួយ console application រួចហើយសរសេរ static method ដែលហៅថា Util.Min ដែលមានគោល
បំណងគឺដើម្បីរកនិងត្រឡប់ទៅក្នុងអថេរចំនួនអប្បបរិមានៃ int arguments ដែលផ្ញើទៅវា ។ អ្នកនឹងធ្វើដោយសរសេរ Util.Min ជាមួយ params int[] parameter ។ អ្នកនឹងអនុវត្តពីរលក្ខខ័ណ្ឌឆែកនៅលើ param parameter ដើម្បីធ្វើអោយប្រាកដ Util.Min method ត្រូវបំពេញបញ្ចប់ ។ ចុងក្រោយបំផុត អ្នកនឹងហៅ Util.Min method ជាមួយការផ្ទៀងផ្ទាត់រវាង argument ដើម្បី បញ្ជាក់ធ្វើជាទូទៅ ។
សរសេរ params array method
1. ចាប់ផ្តើមចូលក្នុង Start Visual Studio .NET ។
2. បើក ParamsArrays project ដែលមានទីតាំងក្នុង\Microsoft Press\Visual C# Step by Step\Chapter 11\ ParamsArrays folder នៅក្នុង My Documents folder របស់អ្នក ។
3. បើកប្រភព file Open the Util.cs នៅក្នុង Code pane នៃសន្លឹក Code And Text Editor ។ ក្នុង Util.cs file ផ្ទុក class ទទេដែល ហៅថា Util នៅក្នុង ParamsArrays namespace ។
4. នៅក្នុង Code pane បន្ថែម public static method ដែលហៅថា Min ទៅ Util class ។ ដែល Util.Min method ត្រឡប់ទៅ int និង អនុញ្ញាត params array នៃតំលៃ int ។ Util.Min និងបង្ហាញដូចនេះ:
class Util
{
public static int Sum(params int[] paramList)
{
}
}
4. ជំហានដំបូងក្នុងការអនុវត្តន៍ Util.Min គឺឆែកមើល array parameter ។ វាគឺជា null ហើយនិងជា array មួយដែលមានប្រវែង zero length ។
5. ក្នុង Code pane បន្ថែម statement មួយទៅអោយ Util.Min ដែល បោះចោល ArgumentException ប្រសិនបើ array គឺជា null ។ Util.Min នឹងបង្ហាញដូចខាងក្រោមនេះ:
public static int Sum(params int[] paramList)
{
if (paramList == null)
{
throw new ArgumentException(“Util.Sum: null parameter list”);
}
}
6. ក្នុង Code pane បន្ថែម statement មួយទៅ Util.Min ដែល បោះ
ចោល ArgumentException ប្រសិនបើប្រវែងនៃ array គឺជា 0 ។ Util.Min នឹងបង្ហាញដូចនេះ:
public static int Sum(params int[] paramList)
{
if (paramList == null)
{
throw new ArgumentException(“Util.Sum: null parameter list”);
}
if (paramList.Length == 0)
{
throw new ArgumentException(“Util.Sum: empty parameter list”);
}
}
7. ក្នុង Code pane បន្ថែម statement នីមួយៗទៅ Util.Min ដើម្បីរក មើលធាតុ int ដែលតូចបំផុតនៅក្នុង array រួចហើយត្រឡប់វាពីក្នុង Util.Min ត្រឡប់ statement ។ Util.Min នឹងបង្ហាញដូចខាងក្រោមនេះ:
{

int sumTotal = 0;
foreach (int i in paramList)
{
sumTotal += i;
}
return sumTotal;
}
}

8. ក្នុង Code pane បន្ថែម public static ផ្សេងទៀតដែលហៅថា Min ទៅអោយ Util class ។ វិធី method នេះនឹងត្រឡប់ទៅក្នុង int ហើយ អនុញ្ញាតពីរ int parameters ។ ការអនុវត្តន៍ Util.Min ជាមួយ return statement ទោលដែលប្រើប្រមាណវិធីស្ទួនហើយប្រមាណវិធី ។
The new Util.Min នឹងមើលឃើញដូច្នេះ:
Console.WriteLine(Util.Sum(null));
Exception: Util.Min: null parameter list
Console.WriteLine(Util.Sum());
Exception: Util.Min: empty parameter list
Console.WriteLine(Util.Sum(10,9,8,7,6,5,4,3,2,1));
9. នៅក្នុង Code pane ប្តូរ if statement នៅក្នុង statement នីមួយៗក្នុង Util.Min method ដើម្បីហៅ Util.Min method ថ្មី ។
Util.Min ដើមនឹងមើលដូចខាងក្រោមនេះ:
class Util
{
public static int Min(params int[] array)
{
if (array == null)
{
throw new ArgumentException(“Util.Min: null array”);
}
if (array.Length == 0)
{
throw new ArgumentException(“Util.Min:empty array”);
}
int currentMin =array[0];
foreach (int i in array)
{
currentMin = Min(currentMin, i);
}
return currentMin;
}
}
10. នៅលើ Build menu ចុចលើ BuildSolution ។ បញ្ជាក់ថាមិនមាន​ errors ក្នុង code របស់អ្នក ។
ហៅ params array method
1. ក្នុង Code pane បើកប្រភព Program.cs ។
2. ក្នុង Code pane ទីតាំង Entrance method ក្នុង Program class.
3. ក្នុង Code pane បន្ថែម statement ខាងក្រោមទៅ Entrance method:
Console.WriteLine(Util.Min(null));
4. នៅលើ Debug menu ចុចលើ Start Without Debugging ឬប្រើ shortcut key Ctrl+F5 ។ កម្មវិធី builds និងរត់ដំណើរការដែល សរសេរ message ទៅអោយ console ដូចខាងក្រោមនេះ:
Exception: Util.Min: null array
5. នៅក្នុង Code pane ប្តូរហៅទៅ Console.WriteLine ក្នុង Entrance បន្ទាប់មក statement:
Console.WriteLine(Util.Min());
6. នៅលើ Debug menu ចុចលើ Start Without Debugging ឬប្រើ shortcut key Ctrl+F5 ។ កម្មវិធី builds រួចរត់ដំណើរការដែល សរសេរ message ទៅ console​ ដូចខាងក្រោមនេះ:
Exception: Util.Min: empty array
នេះបញ្ជាក់ថាហៅវិធី params method ដោយមិមាន arguments លទ្ធផលប្រវែង array ០ និង មិនមាន null ទីពីរលក្ខខ័ណ្ឌឆែកមើល ក្នុង Util.Min គឺជាការចាំបាច់ ។
7. ប្តូរហៅ Console.WriteLine នៅក្នុង Entrance ដូចខាង
ក្រោមនេះ:
Console.WriteLine(Util.Min(10,9,8,7,6,5,4,3,2,1));
8. នៅលើ Debug menu ចុចលើ Start Without Debugging ឬប្រើ shortcut key Ctrl+F5 ។
9. កម្មវីធី builds, runs រួចហើយសរសេរ 1 ទៅ console ។
សង្ខេបជំពូកទី ១១
ប្រធានបទ
ការអនុវត្តន៍
សរសេរ method ដែលអាច អនុញ្ញាតចំនួននៃប្រភេទបាន ផ្តល់អោយ ។
សរសេរ method មួយដែលមាន parameter គឺជា params array នៃប្រភេទដែលបាន
ផ្តល់អោយ ។ ឧទាហរណ៍ method
ដែលអនុញ្ញាតចំនួននៃ bool arguments នឹងមាន:
someType Method(params bool[] flags)
{

}
សរសេរ method ដែលអាច មានចំនួននៃ arguments នៃប្រភេទផ្សេងទៀត ។ សរសេរ method មួយដែល params array នៃ object មួយ ឧទាហរណ៍: someType Method(params object[] paramList)
{

}
អនុញ្ញាតប្រើ command-line arguments នៅក្នុង Main សរសេរ Main ដើម្បីអនុញ្ញាតចូល array នៃ strings ។ (ពាក្យគន្លឹះ params គឺមិនចាំបាច់ក្នុងករណី នេះ) ឧទាហរណ៍:
static void Main(
string[] args)
{
}

Related product you might see:

Share this product :

Post a Comment

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. ទឹកអំពៅ - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger