public string simplifyString(string sInput)
{
if (sInput.Length < 2)
{
return sInput;
}
string sOutput;
int iCount = 0;
for (int i=1; i < sInput.Length; i++)
{
if (sInput[i] != sInput[iCount])
{
iCount++;
sOutput[iCount] = sInput[i];
}
}
return sOutput;
}
Прекомпилятор имеет проблемы с вышеуказанным кодом C#.присвоение символов строке в C#
sOutput[iCount] = sInput[i];
В этой строке есть ошибка. Он говорит, что string.this [int] не может быть назначен и доступен только для чтения.
Что именно вы пытаетесь достичь? – kevintjuh93
Он прав, строки неизменяемы. Вам нужно создать новую строку, например, с помощью 'StringBuilder'. –
Да, 'sOutput [iCount]' возвращает символ этого индекса, и поскольку строки неизменяемы, это нормально для чтения только. –