Мне кажется, проблема в слове «конкатенация». Я думаю, что он хочет перезаписать. Таким образом, он может показать полупароль как строка ...
char[] p = { 'a', 'b', 'a', 'b', 'b' };
char[] asterisks = (new String('*', p.Length -1)).ToCharArray();
asterisks.CopyTo(p, 1);
.CopyTo () запишет массив «звездочки» в массив «p». Предыдущие постеры верны в том, что вы должны использовать StringBuilder для подобных манипуляций, но если вы должны иметь его как массив символов, это способ сделать это. (Предполагая, что я понимаю, что вы хотите. "Я хочу, чтобы результат был похож на" ***** ".")