Professional Documents
Culture Documents
Cau Truc Dictionary
Cau Truc Dictionary
Bi 8
Ni dung
Khi nim, khai bo, cch s dng lp trnh tng qut (Generic). Lp trnh tng qut lp, cu trc v cc hm Mt s cu trc d liu tng qut c xy dng sn trong C# nh Collection, List, Dictionary
Trong C++ cp ti khi nim Template (thng gi l mu), Template c dng to cc hm, cc class m khng cn quan tm n kiu d liu ca i s. Template c a ra vi mc ch tng tnh nng s dng li m ngun. Generic trong C# a ra cc tnh nng tng t nh Template trong C++
Generic nh ngha mt thao tc d liu vi kiu d liu chung nht nhm ti a ha vic s dng li code trong chng trnh, to ra cc kiu d liu an ton, em li hiu sut cao nht. ng dng ph bin nht ca Generic l to ra cc collection class (lp d liu tp hp). Trong .NET framework c cha sn cc collection framework trong namespace System.Collections.Generic. Generic c th to c cc interface, class, method, event v delegates.
Lp tp hp (class collection)
Lp tp hp (class collection) c dng lp tng phn t trong mt lp thng qua cu lnh foreach. Phn ln cc lp tp hp xut pht t vic thc thi cc giao din chun ca C# nh: ICollection, IComparer, IEnumerable, IList, IDictionary, IDictionaryEnumerator v cc generic tng ng ca chng.
Lp tp hp (tt)
public class Tokens: IEnumerable
{
private string[] elements; public Tokens(string source, char[] delimiters) { elements=source.Split(delimiters); } public IEnumerator GetEnumerator() { return new TokenEnumerator(this) }
Lp tp hp (tt)
private class TokenEnumerator:IEnumerator
{
Lp tp hp (tt)
public bool MoveNext() { if (position < t.elements.Length - 1) { position++; return true; } else { return false; } } public void Reset() { position = -1; } public object Current { get { return t.elements[position]; } }
Lp tp hp (tt)
{
static void Main() Tokens f = new Tokens("This is a welldone program.", new char[] {' ','-'}); foreach (string item in f) { Console.WriteLine(item); }
} }
string result = ""; foreach (Couple<string, T> pair in list) { string tmp = pair.elementA + " : " + pair.elementB.ToString(); result += tmp + '\n'; } return result;
Cc cu trc tng qut cn li nh Collection, List thao tc cng tng t nh cu trc t in tng qut. Cc v d c th v cc trng hp ny c th xem thm trong MSDN