Как реализовать интерфейсы IEnumerable, IComparable, IComparer? - C#
Формулировка задачи:
Интерфейсы IEnumerable, IComparable, IComparer. Как реализовать? Или у кого-то есть готовый код который соответствует данному условию. Заранее благодарю
Решение задачи: «Как реализовать интерфейсы IEnumerable, IComparable, IComparer?»
textual
Листинг программы
class ListViewItemComparer : IComparer
{
private int column;
private SortOrder currentSorting;
public ListViewItemComparer():this(0, SortOrder.Ascending) {}
public ListViewItemComparer(int column):this(column, SortOrder.Ascending) {}
public ListViewItemComparer(int column, SortOrder newSorting)
{
this.column = column;
currentSorting = newSorting;
}
public int Compare(object x, object y)
{
int returnvalue = -1;
if (column == 2)
{
int xNumber = int.Parse(((ListViewItem)x).SubItems[column].Text);
int yNumber = int.Parse(((ListViewItem)y).SubItems[column].Text);
if (xNumber > yNumber)
returnvalue = 1;
else if (xNumber < yNumber)
returnvalue = -1;
else
returnvalue = 0;
}
else
returnvalue = String.Compare(((ListViewItem)x).SubItems[column].Text, ((ListViewItem)y).SubItems[column].Text);
return currentSorting == SortOrder.Ascending ? returnvalue : returnvalue * -1;
}
}