У меня был вопрос с интервью, который попросил меня написать "отзыв" на фрагменте кода, написанном младшим программистом. Они намекнули, что может возникнуть проблема, и сказал, что он будет использоваться в основном на больших струнах.
public string ReverseString(string sz)
{
string result = string.Empty;
for(int i = sz.Length-1; i>=0; i--)
{
result += sz[i]
}
return result;
}
Я не мог это заметить. Я не видел никаких проблем. Оглядываясь назад, я мог бы сказать, что пользователь должен изменить размер, но похоже, что у С# нет изменения размера (я парень С++).
В итоге я написал такие вещи, как использование итератора, если это возможно, [x] в контейнерах не может быть произвольным доступом, поэтому он может быть медленным. и разные вещи. Но я определенно сказал, что мне никогда не приходилось оптимизировать код С#, поэтому мое мышление, возможно, не подвело меня в интервью.
Я хотел знать, в чем проблема с этим кодом, вы его видите?
-edit -
Я изменил это на wiki, потому что может быть несколько правильных ответов. Также я так рад, что я прямо сказал, что мне никогда не приходилось оптимизировать программу на С# и упомянул о других вещах. К сожалению. Я всегда думал, что у С# не было проблем с производительностью с этими вещами. упс.