Быстрый вопрос, требующий понимания этого сообщества: Какой из них предпочтительнее?
Вариант ①
// How many spaces are there in the beginning of string? (and remove them)
int spaces = text.Length;
text = text.TrimStart(' ');
spaces -= text.Length;
- Преимущество: Назначение на отдельной строке, поэтому побочный эффект явно
- Недостаток: Первая строка выглядит бессмысленной сама по себе; вы должны заметить третью строку, чтобы понять ее
Вариант ②
// How many spaces are there in the beginning of string? (and remove them)
int spaces = text.Length - (text = text.TrimStart(' ')).Length;
- Преимущество: Заявление имеет смысл с точки зрения вычислений, которые он выполняет.
- Недостаток: Назначение, скрытое внутри выражения; побочный эффект можно упустить.