[C#]想实现把一个字符“继续”装进一个字符数组里

图片说明

想把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();