为什么这个编译区别?

时间:2015-04-24 09:47:35

标签: c# compilation compiler-errors boolean

不知道该怎么称呼它,但这就是我所拥有的。

enter image description here

正如你所看到的,我有以下代码行,其中第一行和第二行是可以的但是第三行导致错误。

有人可以解释原因吗?我有一种感觉,可能是因为(s is PaymentSchdule)需要在运行时进行评估,这是什么原因?

2 个答案:

答案 0 :(得分:1)

您的语法不正确。检查某些东西是否属于指定类型:

s is PaymentSchedule

s is PaymentSchedule()

导致您将代码更改为:

Console.WriteLine("PaymentSchedule: " + (s is PaymentSchedule).ToString() + "Code: " + s.GetHashCode());

我很想写这样的内容以提高可读性,但是:

Console.WriteLine("PaymentSchedule: {0} Code: {1}", s is PaymentSchedule, s.GetHashCode());

答案 1 :(得分:0)

您已撰写PaymentSchedule()。它应该是PaymentSchedule