... 0,5 III IV II IV V V III VI VI VII VIII VII VIII IV 10 20 IX IX V X XI X XI VI XII XII VII 50 100 200 500 1000 cm/s Hỡnh 1.3 Quan h gia cỏc thang cng ng t v gia tc nn cc i Bng 1.4 Bng chuyn i ... v ng kh i VIII Rt mnh VII trt Nh b h hi, xut Mc nc Thit hi Tt c mi ngi hong s hin vt nt ln ging thay xõy, tng chn m i v u hi b IX i, ng p b trt Thit hi S h i Nh b h hng Nn t b ln din rng, tng ... m i b 21 X Cc k thit hi Nh b h hng ton B mt t b b, nhiu nh b S h i bao trựm thay i, xut hin nhiu ging nc mi XI Hy dit S h i bao trựm Cỏc cụng trỡnh xõy dng chc chn b h hng nghiờm trng Hy dit...
... hình chữ nhật chiều chúng không i u Khi tạo mảng đa chiều kích thư c khác khai báo sốd ng mảng trước Sau v id ng giữ mảng, có kích thư c Những mảng khai báo riêng Sau kh i tạo giá trị thành phần ... này, chiều mảng chiều Để khai báo mảng đa chiều có kích thư c khác ta sử d ng cú pháp sau, số ngoặc số chiều mảng: [] [] Ví d , khai báo mảng số nguyên hai chiều khác kích thư c tên ... for(int i = 0; i < 2; i+ +) { Console.WriteLine(“jaggedArray[1][{0}] = {1}”, 226 Mảng, Chỉ Mục, Tập Hợp Ngôn Ngữ Lập Trình C# i, jaggedArray[1] [i] ); } for(int i = 0; i < 3; i+ +) { Console.WriteLine(“jaggedArray[2][{0}]...
... hầu hết trường hợp, sử d ng kế thừa từ Object Giao diện IDictionary từ i n ví thực thi giao diện IDictionary IDictionary cung cấp thuộc tính public Item Thuộc tính Item truy cập giá trị thông ... Giao diện IDictionaryEnumerator Những đi tượng IDictionary hỗ trợ vòng lặp foreach việc thực thi phương thức GetEnumerator(), phương thức trả IDictionaryEnumerator IDictionaryEnumerator sử d ng ... sử d ng để liệt kê đi tượng IDictionary Nó cung cấp thuộc tính để truy cập khóa giá trị cho thành phần từ i n Ta có ví d 9.19 minh họa sau: Ví d 9.16: sử d ng giao diện IDictionaryEnumerator...
... chu i, số nguyên, đi tượng v i kiểu giá trị (chu i, số nguyên, kiểu đi tượng) Thuộc tính quan trọng từ i n tốt d thêm giá trị vào, nhanh chóng truy cập đến giá trị Một v i từ i n nhanh th i gian ... Chỉ Mục, Tập Hợp Ngôn Ngữ Lập Trình C# Từ i n kiểu tập hợp có hai thành phần liên hệ v i khóa giá trị Trong từ i n ngôn ngữ Oxford liên hệ từ (khóa) phần định nghĩa từ (giá trị) Để tìm thấy giá ... using System; using System.Collections; // lớp đơn giản để lưu trữ public class Tester { static void Main() { Stack intStack = new Stack(); // đưa vào ngăn xếp for (int i= 0; i < 8; i+ +) { intStack.Push (i* 5);...
... whichComparision; } private int empID; private int yearsOfSvc = 1; } public class Teser { static void Main() { ArrayList empArray = new ArrayList(); Random r = new Random(); // đưa vào mảng for(int i= 0; ... Svc: 16 ID: 101 Years of Svc: ID: 102 Years of Svc: ID: 105 Years of Svc: ID: 107 Years of Svc: 17 ID: 105 Years of Svc: ID: 101 Years of Svc: ID: 102 Years of Svc: ID: 100 Years of Svc: 16 ID: 107 ... public Employee.EmployeeComparer.ComparisionType WhichComparision { get { return whichComparision; } set { whichComparision = value; } } private Employee.EmployeeComparer.ComparisionType whichComparision;...
... //lớp đơn giản để lưu trữ mảng public class Employee : IComparable { public Employee(int empID) { this.empID = empID; } public Employee(int empID, int yearsOfSvc) { this.empID = empID; this.yearsOfSvc ... value; } } kiểu liệt kê v i hai giá trị, empID hay yearsOfSvc, hai giá trị muốn xếp theo ID hay số năm phục vụ: ComparisionType public enum ComparisionType { EmpID, Yrs }; Trước g i Sort(), tạo ... for( int i = 0; i < 5; i+ +) { empArray.Add( new Employee(r.Next(10)+100)); intArray.Add( r.Next(10) ); } // in tất n i dung for(int i = 0; i < intArray.Count; i+ +) { Console.Write(“{0} ”,intArray [i] .ToString());...
... System.Collections; // lớp đơn giản để lưu trữ mảng public class Employee { public Employee(int empID) { this.empID = empID; } public override string ToString() { return empID.ToString(); } public int EmpID ... ArrayList(); ArrayList intArray = new ArrayList(); // đưa vào mảng for( int i = 0; i < 5; i+ +) { empArray.Add( new Employee (i+ 100)); intArray.Add( i* 5 ); } // in tất n i dung for(int i = 0; i < intArray.Count; ... return this.empID.CompareTo(r.empID); } Phương thức CompareTo() lấy đi tượng làm tham số, đi tượng Employee ph iso sánh v iđi tượng trả -1 nhỏ đi tượng này, lớn hơn, cu i giá trị hai đi tượng...
... if ( index < || index >= strings.Length) { // xử lý index sai } return strings[index]; } set { strings[index] = value; } } // số chu i nắm giữ public int GetNumEntries() { return ctr; } private ... string[] strings; private int ctr = 0; } public class Tester { static void Main() { ListBoxTest lbt = new ListBoxTest(“Hello”, “World”); lbt.Add(“What”); lbt.Add(“Is”); lbt.Add(“The”); lbt.Add(“C”); ... ListBoxEnumerator(this); } // kh i tạo listbox v i chu i public ListBoxTest (params string[] initStr) { strings = new String[10]; // copy từ mảng chu i tham số foreach (string s in initStr) { strings[ctr++]...
... chu i public string this [string index] { get { if (index.Length == 0) { // xử lý chu i rỗng } return this[findString(index)]; } set { strings[findString(index)] = value; } } // lấy số chu i mảng ... giao diện chuẩn cho việc liệt kê, so sánh, tạo tập hợp Một số giao diện số liệt kê bảng 9.2 sau: Giao diện IEnumerable ICollection IComparer IList Mục đích Liệt kê thông qua tập hợp cách sử d ng ... public string this [ int index ] { get { if (index < || index >= strings.Length) 239 Mảng, Chỉ Mục, Tập Hợp Ngôn Ngữ Lập Trình C# { // mục không hợp lệ } return strings[index]; } set { strings[index]...
... lý mục sai } return myStrings[index]; } Đi v i phương thức set() kiểm trả xemmụcđi tượng cần lấy có vượt số lượng đi tượng mảng hay không Nếu giá trị mụchợp lệ tức tồn đi tượng có mục ... định đi tượng mảng yêu cầu truy cập hay thiết lập Ví d 9.9 khai báo i u khiển ListBox, tên ListBoxTest, đi tượng chứa mảng đơn giản (myStrings) mục để truy cập n i dung mảng Ghi chú: Đi v i ... strings = new String[256]; // copy chu i truyền từ tham số foreach ( string s in initialStrings) { strings[ctr++] = s; } } // thêm chu i public void Add(string theString) { if (ctr >= strings.Length)...
... public override string ToString() { return empID.ToString(); } // biến thành viên private int empID; private int size; } public class Tester { // phương thức lấy mảng object // truyền vào mảng đi ... kiểu Đưa mảng làm việc v i kiểu khác 230 Mảng, Chỉ Mục, Tập Hợp Ngôn Ngữ Lập Trình C# Button có số khó khăn Ví d 9.8 minh họa việc sử d ng hai phương thức để thao tácđi tượng chu i Ví d ... nhận Do ToString() phương thức ảo lớp sở object, thực phủ lớp Employee Nên phương thức ToString() lớp Employee g i Việc g i ToString() không cần thiết, g i h i giúp cho ta đi xử v iđi tượng...
... for(int i = 0; i < 2; i+ +) { Console.WriteLine(“jaggedArray[1][{0}] = {1}”, 226 Mảng, Chỉ Mục, Tập Hợp Ngôn Ngữ Lập Trình C# i, jaggedArray[1] [i] ); } for(int i = 0; i < 3; i+ +) { Console.WriteLine(“jaggedArray[2][{0}] ... này, chiều mảng chiều Để khai báo mảng đa chiều có kích thư c khác ta sử d ng cú pháp sau, số ngoặc số chiều mảng: [] [] Ví d , khai báo mảng số nguyên hai chiều khác kích thư c tên ... hình chữ nhật chiều chúng không i u Khi tạo mảng đa chiều kích thư c khác khai báo sốd ng mảng trước Sau v id ng giữ mảng, có kích thư c Những mảng khai báo riêng Sau kh i tạo giá trị thành phần...
... hầu hết trường hợp, sử d ng kế thừa từ Object Giao diện IDictionary từ i n ví thực thi giao diện IDictionary IDictionary cung cấp thuộc tính public Item Thuộc tính Item truy cập giá trị thông ... Giao diện IDictionaryEnumerator Những đi tượng IDictionary hỗ trợ vòng lặp foreach việc thực thi phương thức GetEnumerator(), phương thức trả IDictionaryEnumerator IDictionaryEnumerator sử d ng ... sử d ng để liệt kê đi tượng IDictionary Nó cung cấp thuộc tính để truy cập khóa giá trị cho thành phần từ i n Ta có ví d 9.19 minh họa sau: Ví d 9.16: sử d ng giao diện IDictionaryEnumerator...
... chu i, số nguyên, đi tượng v i kiểu giá trị (chu i, số nguyên, kiểu đi tượng) Thuộc tính quan trọng từ i n tốt d thêm giá trị vào, nhanh chóng truy cập đến giá trị Một v i từ i n nhanh th i gian ... Mục, Tập Hợp Ngôn Ngữ Lập Trình C# Từ i n kiểu tập hợp có hai thành phần liên hệ v i khóa giá trị Trong từ i n ngôn ngữ Oxford liên hệ từ (khóa) phần định nghĩa từ (giá trị) Để tìm thấy giá ... using System; using System.Collections; // lớp đơn giản để lưu trữ public class Tester { static void Main() { Stack intStack = new Stack(); // đưa vào ngăn xếp for (int i= 0; i < 8; i+ +) { intStack.Push (i* 5);...
... whichComparision; } private int empID; private int yearsOfSvc = 1; } public class Teser { static void Main() { ArrayList empArray = new ArrayList(); Random r = new Random(); // đưa vào mảng for(int i= 0; ... Svc: 16 ID: 101 Years of Svc: ID: 102 Years of Svc: ID: 105 Years of Svc: ID: 107 Years of Svc: 17 ID: 105 Years of Svc: ID: 101 Years of Svc: ID: 102 Years of Svc: ID: 100 Years of Svc: 16 ID: 107 ... public Employee.EmployeeComparer.ComparisionType WhichComparision { get { return whichComparision; } set { whichComparision = value; } } private Employee.EmployeeComparer.ComparisionType whichComparision;...
... //lớp đơn giản để lưu trữ mảng public class Employee : IComparable { public Employee(int empID) { this.empID = empID; } public Employee(int empID, int yearsOfSvc) { this.empID = empID; this.yearsOfSvc ... value; } } kiểu liệt kê v i hai giá trị, empID hay yearsOfSvc, hai giá trị muốn xếp theo ID hay số năm phục vụ: ComparisionType public enum ComparisionType { EmpID, Yrs }; Trước g i Sort(), tạo ... for( int i = 0; i < 5; i+ +) { empArray.Add( new Employee(r.Next(10)+100)); intArray.Add( r.Next(10) ); } // in tất n i dung for(int i = 0; i < intArray.Count; i+ +) { Console.Write(“{0} ”,intArray [i] .ToString());...
... System.Collections; // lớp đơn giản để lưu trữ mảng public class Employee { public Employee(int empID) { this.empID = empID; } public override string ToString() { return empID.ToString(); } public int EmpID ... ArrayList(); ArrayList intArray = new ArrayList(); // đưa vào mảng for( int i = 0; i < 5; i+ +) { empArray.Add( new Employee (i+ 100)); intArray.Add( i* 5 ); } // in tất n i dung for(int i = 0; i < intArray.Count; ... return this.empID.CompareTo(r.empID); } Phương thức CompareTo() lấy đi tượng làm tham số, đi tượng Employee ph iso sánh v iđi tượng trả -1 nhỏ đi tượng này, lớn hơn, cu i giá trị hai đi tượng...
... if ( index < || index >= strings.Length) { // xử lý index sai } return strings[index]; } set { strings[index] = value; } } // số chu i nắm giữ public int GetNumEntries() { return ctr; } private ... string[] strings; private int ctr = 0; } public class Tester { static void Main() { ListBoxTest lbt = new ListBoxTest(“Hello”, “World”); lbt.Add(“What”); lbt.Add(“Is”); lbt.Add(“The”); lbt.Add(“C”); ... ListBoxEnumerator(this); } // kh i tạo listbox v i chu i public ListBoxTest (params string[] initStr) { strings = new String[10]; // copy từ mảng chu i tham số foreach (string s in initStr) { strings[ctr++]...
... chu i public string this [string index] { get { if (index.Length == 0) { // xử lý chu i rỗng } return this[findString(index)]; } set { strings[findString(index)] = value; } } // lấy số chu i mảng ... cấp giao diện chuẩn cho việc liệt kê, so sánh, tạo tập hợp Một số giao diện số liệt kê bảng 9.2 sau: Giao diện IEnumerable ICollection IComparer IList Mảng, Chỉ Mục, Tập HợpMục đích Liệt kê thông ... strings[index] = value; } } private int findString( string searchString) { for(int i = 0; i < strings.Length; i+ +) { if ( strings [i] .StartsWith(searchString)) { return i; } } return -1; } // mụcd ng...
... lý mục sai } return myStrings[index]; } Đi v i phương thức set() kiểm trả xemmụcđi tượng cần lấy có vượt số lượng đi tượng mảng hay không Nếu giá trị mụchợp lệ tức tồn đi tượng có mục ... định đi tượng mảng yêu cầu truy cập hay thiết lập Ví d 9.9 khai báo i u khiển ListBox, tên ListBoxTest, đi tượng chứa mảng đơn giản (myStrings) mục để truy cập n i dung mảng Ghi chú: Đi v i ... strings = new String[256]; // copy chu i truyền từ tham số foreach ( string s in initialStrings) { strings[ctr++] = s; } } // thêm chu i public void Add(string theString) { if (ctr >= strings.Length)...