ARCed.Controls.ListViewColumnSorter.Compare C# (CSharp) Метод

Compare() публичный Метод

This method is inherited from the IComparer interface. It compares the two objects passed using a case insensitive comparison.
public Compare ( object x, object y ) : int
x object First object to be compared
y object Second object to be compared
Результат int
        public int Compare(object x, object y)
        {
            int compareResult;

            // Cast the objects to be compared to ListViewItem objects
            var listviewX = (ListViewItem)x;
            var listviewY = (ListViewItem)y;

            if (this.ColumnToSort == 0)
            {
                compareResult = this.FirstObjectCompare.Compare(x, y);
            }
            else
            {
                // Compare the two items
                compareResult = this.ObjectCompare.Compare(listviewX.SubItems[this.ColumnToSort].Text,
                    listviewY.SubItems[this.ColumnToSort].Text);
            }

            // Calculate correct return value based on object comparison
            switch (this.OrderOfSort)
            {
                case SortOrder.Ascending:
                    return compareResult;
                case SortOrder.Descending:
                    return (-compareResult);
                default:
                    return 0;
            }
        }