Spe*_*nce 54
一个词:
LINQ
使用Linq对对象进行单一查询后,您将永远不会回头.Linq不仅仅是数据库,你可以拥有任何类型的集合,如果你能在功能上表达自己,你可以改变
foreach (obj in myCollection)
{
if (obj.property == match)
{
foundObj = obj;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
至
myCollection.Single(obj => obj.property == match);
Run Code Online (Sandbox Code Playgroud)
编辑:或
var foundobj =
(from obj in myCollection
where obj.property == match)
.Single()
Run Code Online (Sandbox Code Playgroud)
哪一个更有意义?当你想要表达更复杂的查询时,比如说那个和那个,以及那个选择与其他属性相匹配的查询.你可以在两个函数调用中完成它.
抱歉咆哮,但我真的很喜欢Linq.
Bev*_*van 14
假设:您正在使用Visual Studio 2005和.NET 2.0.
原因#1:Vista包含.NET 3.0作为操作系统安装的一部分; Windows 7包含.NET 3.5
原因2:有一些方法可以使用Visual Studio 2008(和VS 2010)来定位.NET 2.0,这样您就可以从这些工具的生产力"好东西"中获益而不放弃.NET 2.0,然后在您使用时转移到.NET 2+准备好了.(Visual Studio可以帮助您在编写代码时避免使用非.NET 2.0程序集.)
原因#3:扩展方法,特别是静态类Enumerable.从技术上讲,它是Linq的一部分,但是以干净,清晰,可维护的方式编写代码的好方法.
原因#4:修复了.NET 2.0框架的错误.请记住,.NET 3.0和.NET 3.5仍然使用相同的.NET 2.0运行时 - 它们只是添加了新的框架/库和一些编译器技巧.已经有吨的 bug修复运行时它你就错过了.
从.NET 2.0迁移到.NET 3.5甚至不应该考虑.以下是一些原因.
如果没有.NET 3.5,你会错过很多东西.认真.跳跃.你会很高兴的.
如果你不需要LINQ,不想要WPF(或WCF),并且不喜欢泛型的扩展使用,简单的答案是:不要这样做!
但是,一旦你只使用了3.5的上述功能之一,你会想知道你是如何做到的.转向3.5的真正原因是为了获得这些功能的好处.
因此,如果你对2.0完全满意,并且从未说过"我希望我能...... xyz",我建议你留在原地.
C#3.0有一些非常好的功能,例如自动属性和集合初始化程序 - 两者都真正清理你的代码.Linq在处理集合时也很棒,Lambda表达式也很酷.
.NET 7也包含在Windows 7中.
问题是 - 为什么不呢?
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |