Lambda 表达式无法编译
我很困惑。
我有这个 lambda 表达式:
tvPatientPrecriptionsEntities.Sort((p1, p2) =>
p1.MedicationStartDate
.Value
.CompareTo(p2.MedicationStartDate.Value));
Visual Studio 不会编译它并抱怨语法。
我将兰巴表达式转换为匿名委托,如下所示:
tvPatientPrecriptionsEntities.Sort(
delegate(PatientPrecriptionsEntity p1, PatientPrecriptionsEntity p2)
{
return p1.MedicationStartDate
.Value
.CompareTo(p2.MedicationStartDate.Value);
});
并且它工作正常。
该项目使用 .NET 3.5,我引用了 System.Linq。
I am very confused.
I have this lambda expression:
tvPatientPrecriptionsEntities.Sort((p1, p2) =>
p1.MedicationStartDate
.Value
.CompareTo(p2.MedicationStartDate.Value));
Visual Studio will not compile it and complains about syntax.
I converted the lamba expression to an anonymous delegate as so:
tvPatientPrecriptionsEntities.Sort(
delegate(PatientPrecriptionsEntity p1, PatientPrecriptionsEntity p2)
{
return p1.MedicationStartDate
.Value
.CompareTo(p2.MedicationStartDate.Value);
});
and it works fine.
The project uses .NET 3.5 and I have a reference to System.Linq
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
DateTime.CompareTo 已重载。尝试在 lambda 中使用显式参数类型:
DateTime.CompareTo is overloaded. Try using explicit parameter types in your lambda:
下面的代码对我来说编译得很好。也许您应该缩小代码之间存在的显着差异,并通过这个简单的示例来确定问题的根源。
The following code compiles fine for me. Perhaps you should narrow down what significant differences exist between your code, and this simple example to pin down the source of the problem.