Venciity

[ Telerik C#] MultidimArrays-Demos 6. SortingIComparer

Feb 26th, 2014
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.50 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class SortingArrays
  5. {
  6.     private class NumbersComparer : IComparer<int>
  7.     {
  8.         public int Compare(int x, int y)
  9.         {
  10.             return (x % 5).CompareTo(y % 5);
  11.         }
  12.     }
  13.  
  14.     class StudentsComparer:IComparer<string>
  15.     {
  16.         public int Compare(string student1, string student2)
  17.         {
  18.             var lastName1 = student1.Substring(student1.IndexOf(' ') + 1);
  19.             var lastName2 = student2.Substring(student2.IndexOf(' ') + 1);
  20.             return lastName1.CompareTo(lastName2);
  21.         }
  22.     }
  23.  
  24.     static void Main()
  25.     {
  26.         int[] numbers = { 1, 2, 5, 10, 11 };
  27.  
  28.         Array.Sort(numbers, new NumbersComparer());
  29.  
  30.         Console.WriteLine("Numbers sorted by modul 5");
  31.         foreach (int number in numbers)
  32.         {
  33.             Console.WriteLine(number);
  34.         }
  35.         Console.WriteLine();
  36.  
  37.         Array.Sort(numbers, (x, y) => (y%6).CompareTo(x%6));
  38.  
  39.         Console.WriteLine("Numbers sorted descending:");
  40.         foreach (int number in numbers)
  41.         {
  42.             Console.WriteLine(number);
  43.         }
  44.         Console.WriteLine();
  45.        
  46.         string[] students = { "Doncho Minkov", "Nikolay Kostov",
  47.                                 "Pesho Stefanov", "Stamat Georgiev", "Khan Asparukh" };
  48.         Array.Sort(students, new StudentsComparer());
  49.         foreach (string student in students)
  50.         {
  51.             Console.WriteLine(student);
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment