Часто при создании сообщений для показа пользователю сообщение будет содержать ряд вещей, о которых я хочу сообщить клиенту.
Я приведу пример: клиент выбрал несколько элементов от 1 и выше и нажал кнопку «Удалить». Теперь я хочу отправить покупателю подтверждающее сообщение и упомянуть количество выбранных им элементов, чтобы свести к минимуму вероятность того, что он совершит ошибку, выбрав несколько элементов и нажав кнопку «Удалить», когда он хочет удалить только один из них. их.
Один из способов - сделать общее сообщение таким:
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " item(s). Are you sure you want to delete it/them?";
«Проблема» здесь в том, что noofitemselected
это 1, и мы должны написать item и it вместо items и них .
Мое обычное решение будет примерно таким
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " " + (noofitemsselected==1?"item" : "items") + ". Are you sure you want to delete " + (noofitemsselected==1?"it" : "them") + "?";
Это становится довольно длинным и довольно неприятным, очень быстро, если в коде много ссылок на множество чисел, а фактическое сообщение становится трудно читать.
Так что мои вопросы просты. Есть ли лучшие способы создания подобных сообщений?
РЕДАКТИРОВАТЬ
Я вижу, что многие люди очень зациклились на том случае, когда я упомянул, что сообщение должно отображаться внутри окна сообщения, и просто дал ответ о том, как вообще избежать использования окна сообщения, и это все хорошо .
Но помните, что проблема множественного числа также относится к текстам в других местах программы, помимо окон сообщений. Например, метка рядом с сеткой, отображающая количество строк, выбранных в сетке, будет иметь ту же проблему в отношении множественного числа.
Таким образом, это в основном относится к большей части текста, который каким-то образом выводится из программ, и тогда решение не так просто, как просто изменить программу, чтобы текст больше не выводился :)