public int Compare()

in Tools/MultiplayerSessionHistoryViewer/Form1.cs [1143:1195]


            public int Compare(object x, object y)
            {
                long value1;
                bool isNumber = long.TryParse(((ListViewItem)x).SubItems[this.col].Text, out value1);

                if (!isNumber)
                {
                    if (this.isDescending)
                    {
                        return string.Compare(((ListViewItem)x).SubItems[this.col].Text, ((ListViewItem)y).SubItems[this.col].Text);
                    }
                    else
                    {
                        return string.Compare(((ListViewItem)y).SubItems[this.col].Text, ((ListViewItem)x).SubItems[this.col].Text);
                    }
                }
                else
                {
                    long value2;

                    if (string.IsNullOrWhiteSpace(((ListViewItem)y).SubItems[this.col].Text))
                    {
                        value2 = 0;
                    }
                    else
                    {
                        if (!long.TryParse(((ListViewItem)y).SubItems[this.col].Text, out value2))
                        {
                            value2 = SessionHistory.MaxChangeValue;
                        }
                    }

                    if (value1 == value2)
                    {
                        return 0;
                    }

                    if (this.isDescending)
                    {
                        if (value1 < value2)
                            return -1;
                        else
                            return 1;
                    }
                    else
                    {
                        if (value1 < value2)
                            return 1;
                        else
                            return -1;
                    }
                }
            }