-3
static void removeSpaces(ref String arg)
{
String temp = "";
for (int i = 0; i < arg.Length; ++i) {
if (arg[i] != ' ')
{
temp = arg[i]; // gives error
temp += arg[i]; // works fine, no error
}
}
}
'arg [i]' is 'char',' temp' is 'string'. Существует неявный разговор от 'char' до' string'. Если вы _carefully_ прочитаете свое сообщение об ошибке, вы можете его найти. Для вашей второй строки оператор '+' вызывает 'ToString' метод для' arg [i] ', поэтому он действует как temp = temp + arg [i] .ToString()', который действителен. –
, потому что мы не можем назначить одного символа в строку !! вы должны сделать это 'arg [i] .ToString();' –
Почему бы не просто 'str = str.Replace (" ", string.Empty);'? – Nasreddine