c# - 以 .NET 2.0 为目标时使用(某些)lambda 表达式?

标签 c# .net lambda

ReSharper 建议我们改变:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    delegate(object sender, X509Certificate certificate, X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
{
    return true;
};

进入:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (sender, certificate, chain, sslPolicyErrors) => true;

它看起来有点干净。但我们的目标是 .NET 2.0。这还是我们应该做的事吗?

最佳答案

你应该选择你最喜欢的。在 C# 3.0 中引入的所有功能(例如 Lambda 表达式、扩展方法和 LINQ)都建立在 2.0 .NET 运行时之上。所以你可以使用 C#3.0 开发并在运行时的 2.0 上运行它。

只要您的编译器可以处理 C#3.0,您就可以使用所有新的 C#3.0 功能。我知道的唯一异常(exception)是,如果您使用表达式树,则需要使用 .NET 2.0 SP1,因为需要为该服务包修复 CLR 中的一些错误,才能使表达式树正常工作。

关于c# - 以 .NET 2.0 为目标时使用(某些)lambda 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341846/

相关文章:

.net - 通过SSL卸载应用程序网关连接到Azure托管的ElasticSearch终结点

.net - WCF 超时是一场噩梦

c# - 动态 Linq - 对成员类型为 "dynamic"的对象执行查询

c++ - std::thread vs pthread,我做错了什么?

c++ - C++ 中的 Lambda 表达式与仿函数

c# - MVVM light application - 如何正确清理 ViewModels

c# - 路由添加静态段让分页更友好asp.net core

c# - 在 JavaScript 中使用 String.Format?

c# - C# 中的 float 学是否一致?是真的吗?

c# - 使用计时器控件时如何将小时文本更改为分钟