Re[2]: Дикие тормоза при сортировке в TreeVie
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.07.05 20:05
Оценка:
Здравствуйте, Commandor16, Вы писали:

C>Здравствуйте, VladD2,


C>Ваш код наверняка быстрый, но, если честно, я просто не знаю какой второй параметр нужно подставить в функию. Если ответите, то буду премного благодарен и если надо то же помогу если потребуется.




class MSBuildTreeViewNodeSorter : IComparer, IComparer<TreeNode>
{
    #region IComparer Members

    public int Compare(object x, object y)
    {
        return Compare((TreeNode)x, (TreeNode)y);
    }

    #endregion

    #region IComparer<TreeNode> Members

    // Вот тут должна быть собственная процедура сравнения. 

    public int Compare(TreeNode x, TreeNode y)
    {
        if (x.Tag != null && y.Tag == null)
            return 1;

        if (x.Tag == null && y.Tag != null)
            return -1;

        return x.Text.CompareTo(y.Text);
    }

    public bool Equals(TreeNode x, TreeNode y)
    {
        return Compare(x, y) == 0;
    }

    public int GetHashCode(TreeNode obj)
    {
        return obj.Text.GetHashCode();
    }

    #endregion
}
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.