想把target装在key里,这个方法会调用很多回,最后获得一个key。我不理解key声明时的默认长度和默认值会是怎样的;也不知道应该if点什么,编译器说我这么if没用QWQ
public char[] Key;
public void SaveTheKey(char target, ref char[] key)
{
foreach (var item in key)
{
if (key[item] == null)
{
}
}
}
你用:
foreach (var item in key)
{
if (key[item] == null)
{
}
}
此时item就是key遍历的值,并不是下标啊,应该直接用 if(key == null)。
而且对于这种不定长存储数据的情况,推荐使用List。
把 if (key[item] == null)改成if(!key.Contains(target)),也不需要foreach循环,即
if(!key.Contains(target)){
key.Add(target);
}
key = key.Concat(new char[] { target }).ToArray();