如果number大于1,则使单词复数

时间:2014-08-14 00:46:13

标签: c#

我有一个控制台应用程序,如果用户正确地获得了一定数量的问题,控制台将显示“您已正确回答了'x'问题”。 我的观点是,如果正确答案的数量是1,我想显示“问题”,如果数字高于1,我也要显示“问题”。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用if语句或快速ternary operatorstring.Format来使用数字和“s”格式化字符串。

int amount = 1; //Change to see difference
string text = string.Format("You have answered {0} question{1} correctly.", amount, amount > 1 || amount == 0 ? "s" : string.Empty);

如果问题数量大于1或等于0,则只需添加s

另一个更具可读性的解决方案不那么紧凑,但有效:

int amount = 1;
if (amount == 1)
    text = "You have answered 1 question correctly";
else
    text = string.Format("You have answered {0} questions correctly", amount);

答案 1 :(得分:0)

if (numberOfCorrectAnswers == 1)
    printLine("You have answered 1 question correctly.");
else
    printLine(string.Format("You have answered {0} questions correctly", numberOfCorrectAnswers));

其中" printLine"是一种印刷方法。