生成唯一的增量char数组

时间:2016-09-01 17:04:16

标签: c# arrays algorithm

我有一个项目列表,并将它们插入字典但必须确定键。就我的目的而言,这些键所包含的字符位于以下数组中:

char[] keyChars = { '0', '1', 'A', 'B' };  

钥匙的长度可以不同 例如,如果length为2,则第一个键为00,最后一个为BB(假设我需要所有这些键,可能在大多数情况下不是这样)。

然而,我不确定我是否已经炒了我的大脑或什么,但我无法弄清楚如何生成这一系列的按键。

我有以下骨架构造但是还没有能够弄清楚要放入什么......

//These below 2 are determined at runtime and may vary (hardcoded for example's sake)
int count = 8; // Number of keys I need to generate
int length = 3; //Length the key need to be

char[] keyChars = { '0', '1', 'A', 'B' };  

List<string> keys = new List<string>();
char[] result;
for (int i = 0; i < count; i++)
{
    result = new char[length];

    for (int j = length - 1; j >= 0; j--)
    {
        result[j] = keyChars[/*what should go here?*/];
    }

    keys.Add(new string(result));
}

我唯一确定需要的是<something> % keyChars.Length,这样我才能保持在阵列的范围内。但是我的数学知识现在证明有点生疏,而且它花费的时间远远超过它应该......

0 个答案:

没有答案