Как расширить Rich Text Editor / WYSIWYG редактор с пользовательской разметкой

Каждый раз, когда мне приходилось использовать перестановки, я использовал этот метод. Он использует оператор с левым сдвигом для повторения всех возможностей. Попробуйте.

    private List<List<int>> GetPermutations(List<int> testValues)
    {
        List<List<int>> result = new List<List<int>>();

        for (int count = 0; count < (1 << testValues.Count); ++count)
        {
            List<int> combinationList= new List<int>();

            for (int i = 0; i < testValues.Count; ++i)
            {
                if ((count & (1 << i)) == 0)
                {
                    combinationList.Add(testValues[i]);
                }
            }
            result.Add(combinationList);
        }

        return result;
    }

Я не знаю, нужно ли быть точно в том порядке, в котором вы писали, что ожидаете. Если вам нужно, чтобы он был в этом порядке, вы должны просто применить linq к списку результатов:)

0
задан Jiang YD 24 January 2019 в 06:03
поделиться