Also verwende ich Einheit und ich habe diese Zeichenfolge, die den aktuellen Zustand eines Tic-Tac-Toe-Board enthält. Es sieht so aus:Ersetze ein einzelnes Zeichen in einem String
XOX
ONX
OXX
"N" ist ein neutraler Raum.
Die Sache ist, ich möchte eines dieser "N" entweder mit einem "X" oder einem "O" ersetzen. mit ich versucht:
board[n] = "X";
aber ich bekomme
„Eigenschaft oder Indexer kann nicht zugeordnet werden, ist es nur lesen“
So einen Weg ich versuche Figur ändere eins von diesen "N". Hier ist mein Code
if (manager.turn == 1 && !isUsed)
{
xSprite.enabled = true;
manager.board[int.Parse(gameObject.name)-1] = 'X';
manager.GameEndingDraw();
isUsed = true;
manager.turn = 2;
}
else if (manager.turn == 2 && !isUsed)
{
oSprite.enabled = true;
manager.board[int.Parse(gameObject.name)-1] = 'O';
manager.GameEndingDraw();
isUsed = true;
manager.turn = 1;
}
'string' immuteable ist. Sie müßten 'board = board.Remove (n, 1) .Insert (n," X ");' tun, aber Sie sollten wirklich eine andere Datenstruktur wie ein 2D-char-Array betrachten. – juharr