我無法永久替換數組成員。當我更改字符串線索的值時,正在顯示的字符串僅顯示線索的當前值。我認爲我們在初始化char []時遇到了問題。我試圖把它們放在代碼的其他部分,但它會產生錯誤。初學者在這裏!希望您能夠幫助我。謝謝! :)無法永久替換數組中的值
private void clues(String clue)
{
int idx = numb[wordOn]+4;
char[] GuessHide = Words[idx].ToUpper().ToCharArray();
char[] GuessShow = Words[idx].ToUpper().ToCharArray();
for (int a = 0; a < GuessHide.Length; a++)
{
if (GuessShow[a] != Convert.ToChar(clue.ToUpper()))
GuessHide[a] = '*';
else
GuessHide[a] = Convert.ToChar(clue.ToUpper());
}
Guess(string.Join("", GuessHide));
}
字符串在C#中是不可變的。如果你想改變'clue'的上下文,使用'ref String clue' –
閱讀不可變的字符串!即在其創建之後其狀態不能被修改的對象。 http://stackoverflow.com/questions/4274193/what-is-the-difference-between-a-mutable-and-immutable-string-in-c – Tushar
我不確定什麼「猜」功能。 Guess重新填充單詞列表嗎?如果不是,那麼你的問題在於字符串的不變性,你需要重新插入單詞。此外,歡迎堆棧溢出:) –