无法确定条件表达式的类型,因为`string'和`int'之间没有隐式转换

时间:2014-08-14 10:26:32

标签: c# string console int

我有一个应用程序向用户询问一组问题,然后接收这些问题的答案,然后存储它们。我还有一行有问题的代码,其中控制台返回用户的统计信息。我试图让控制台写出多少正确的问题以及用户回答了多少不正确的问题,但是当所述数量为1时使单词“问题”单数,而当数量高于1时使单词复数。以下是我编写的代码行,尽管我收到了标题中写的错误:

Console.WriteLine (
"You have answered {0} question{1} correctly and {2} question{3} incorrectly.",
                correctCount1,
                correctCount1 > 1 || correctCount1 == 0 ? "s" : incorrectCount1,
                incorrectCount1 > 1 || incorrectCount1 == 0 ? "s" :);

1 个答案:

答案 0 :(得分:1)

我强烈怀疑这一点:

correctCount1 > 1 || correctCount1 == 0 ? "s" : incorrectCount1

应该是:

correctCount1 > 1 || correctCount1 == 0 ? "s" : "", incorrectCount1

毕竟,你 想要它说:

"You have answered 5 question10"

你呢?

同样对于最后的论证,这个:

incorrectCount1 > 1 || incorrectCount1 == 0 ? "s" :

应该是:

incorrectCount1 > 1 || incorrectCount1 == 0 ? "s" : ""

您总是需要为条件运算符提供三个操作数。