Реализация настраиваемого IComparer со строкой

У меня есть коллекция строк в C #, например;

var example = new string[]{"c", "b", "a", "d"};

Я затем с помощью, чтобы отсортировать это, но мои Метод IComparer не работает и, кажется, зацикливается бесконечно.

Обычно мне нужно, чтобы сначала было «b» , затем «c» , тогда меня не волнует порядок остальных.

Возможно ли это с помощью I Comparer и метода Compare (string x, string y) ?

Edit: Code

    public int Compare(string x, string y)
    {
        var sOrder = new string[] { "b", "c" };
        int index_x = -1;
        int index_y = -1;

        for (int i = 0; i < sOrder.Length;i++)
        {
            if (sOrder[i] == x)
                index_x = i;
            else if (sOrder[i] == y)
                index_y = i;
        }

        if (index_x >= 0 && index_y >= 0)
        {
            if (index_x < index_y)
            {
                return -1;
            }
            else
                return 1;
        }
        return 0;
    }
17
задан maxp 23 January 2012 в 17:21
поделиться