Сортировка коллекций - C#
Формулировка задачи:
Всем привет хотел отсортировать коллекцию но чего то не хватает не магу понят чего именно .
using System; using System.Collections; namespace Sortirovka2 { class Program { static void Main(string[] args) { string[] students = { "ivanov" ,"petrov" ,"maksimov" ,"ramil" ,"albert" ,"almaz" ,"gudok" ,"idik" ,"vinson" }; Jornal jorn = new Jornal(); for (byte i = 0; i < students.Length; i++) jorn[i] = new student((byte)(i + 1), students[i]); for (byte i = 0; i < students.Length; i++) Console.WriteLine(jorn[i].Number + " "+jorn[i].Name); Array.Sort(jorn);//вот тут возникает ошибка Argument 1: cannot convert from 'Sortirovka2.Jornal' to 'System.Array' Sortirovka2 // ) Console.ReadLine(); } } class student :IComparable { byte number; string name; public byte Number { get { return number; } set { if(value>0) number = value; } } public string Name { get { return name; } set { if(value.Length>1 && value.Length<51) name = value; } } public student (byte n,string na) { this.Number = n; this.Name = na; } public int CompareTo(object obj) { student s = (student)obj; byte leng; if (s.Name.Length > this.Name.Length) leng = (byte)this.Name.Length; else leng = (byte)s.Name.Length; for(byte i=0;i<leng;i++) { if (s.Name[i] > this.Name[i]) return 1; if (s.Name[i] < this.Name[i]) return -1; if (i==leng-1) if (s.Name.Length < this.Name.Length) return 1; if (s.Name.Length > this.Name.Length) return -1; if (s.Name.Length == this.Name.Length) return 0; } return 0; } } class Jornal { ArrayList jornal = new ArrayList (); public student this[byte i] { get { return (student)jornal[i]; } set { if (i > -1 && value is student) jornal.Add(value); } } } }
Решение задачи: «Сортировка коллекций»
textual
Листинг программы
Jornal jorn = new Jornal(); // Добавляем студента под номером 10 jorn[10] = new student(1, "aaaa"); // Пытаемся прочитать имя добавленного студента // но "внезапно" получаем исключение ArgumentOutOfRangeException Console.WriteLine(jorn[10].Name);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д