АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Sorting arrays in C#

Прочитайте:
  1. Arrays in C#.

Sorting array of primitive types

To sort array of primitive types such as int, double or string use method Array.Sort(Array) with the array as a paramater. The primitive types implements interface IComparable, which is internally used by the Sort method. Example:

1) // sort int array

int[] intArray = new int[5] { 8, 10, 2, 6, 3 };

Array.Sort(intArray);

// write array

foreach (int i in intArray) Console.Write(i + " "); // output: 2 3 6 8 10

2) // sort string array

string[] stringArray = new string[5] { "X", "B", "Z", "Y", "A" };

Array.Sort(stringArray);

// write array

foreach (string str in stringArray) Console.Write(str + " "); // output: A B X Y Z

 

Sorting array of custom type using delegate

To sort our own types or to sort by more sophisticated rules, we can use delegate to anonymous method. The generic delegate Comparison<T> is declared as public delegate int Comparison<T> (T x, T y). It points to a method that compares two objects of the same type. It should return less then 0 when X < Y, zero when X = Y and greater then 0 when X > Y. The method (to which the delegate points) can be also an anonymous method (written inline).

Sorting array using IComparable

If we implement IComparable interface in our custom type, we can sort array easily like in the case of primitive types. The Sort method calls internally IComparable.Com­pareTo method.

If we use custom classes with the array, we must implement the interface IComparable. This interface defines just one method, CompareTo(), that must return 0 if the objects to compare are equal, a value smaller than 0 if the instance should go before the object from the parameter, and a value larger than 0 if the instance should go after the object from the parameter.


Дата добавления: 2015-09-18 | Просмотры: 532 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.003 сек.)