C# 2 和 3 之间的差异
我对 C# 或 .net 知之甚少,但我有兴趣了解它们。
令我感兴趣的一件事是我不断听到“C# 3 真的很棒”。
这是为什么? 与 C# 有什么区别 2. 区别仅在 C# 中还是在 .net 中也有?
提前致谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我有一篇关于此的小文章:Bluffer's Guide to C# 3。 显然,我的书中有更多详细信息,但这应该足以让您继续下去。 简而言之:
自动实现的属性:
对象和集合初始值设定项:
隐式类型局部变量:
隐式类型数组:
匿名类型:
Lambda 表达式(类似于匿名方法,但更短):
表达式树:
扩展方法:(静态方法,其行为类似于第一个参数类型的实例方法)
查询表达式:
I have a little article about this: the Bluffer's Guide to C# 3. Obviously there are more details in my book but it should be enough to get you going. In short:
Automatically implemented properties:
Object and collection initializers:
Implicitly typed local variables:
Implicitly typed arrays:
Anonymous types:
Lambda expressions (like anonymous methods but shorter):
Expression trees:
Extension methods: (static methods which act like instance methods on the type of their first parameter)
Query expressions:
您可以在 Wikipedia 文章中阅读有关 C# 3.0 中引入的所有内容。
You can read all about what was introduced in C# 3.0 in the Wikipedia article.
这是一个太大的问题,回答您问题的最佳来源是 C# 深入了解,作者:乔恩·斯基特
This is a too big question, the best source to answer your question is C# in depth by Jon Skeet
C# 3.0 最突出的主题是数据,它是通过语言集成查询(LINQ)实现的。 添加了大多数其他语言功能(例如隐式类型局部变量、匿名类型、lambda 表达式和扩展方法)来支持 LINQ。 LINQ 是一种在代码中编写类似 SQL 语句来查询多种类型数据源的方法。 这样做的吸引人之处在于,您现在可以通过一种通用的方式编写代码来访问不同的数据源,这意味着您不必在每次 MS 引入新的数据访问技术或需要使用时完全重新学习轮子。第三方数据源。 由于大多数主要数据库供应商都以某种方式支持 LINQ,因此这种常见的数据查询方式的好处如今已经逐渐显现出来。
有些人喜欢 LINQ,有些人不喜欢。 我认为这是对语言的一个很好的补充,但您应该考虑自己的要求和情况,并就采用 C# 3.0 是否适合您做出明智的决定。
The most prominent theme of C# 3.0 was data, which is realized through Language Integrated Query (LINQ). Most of the other language features, such as implicitly typed local variables, anonymous types, lambda expressions, and extension methods were added to support LINQ. LINQ is a way to write SQL-like statements in your code to query multiple types of data sources. What is attractive about this is that you now have a common way to write code to access different data sources, meaning that you don't have to completely re-learn the wheel every time MS introduces a new data access technology or you need to use a 3rd party data source. Since most of the major database vendors are supporting LINQ in some way, the benefits of this common way to query data is being realized today.
Some people like LINQ and others don't. I'm in the camp that believes it is a great addition to the language, but you should look at your own requirements and situation and make an informed decision on whether adopting C# 3.0 is right for you.
这里列出了 3.0 中的一些新内容。 很多很棒的东西。
Here's a list of some of the new stuff in 3.0. Lots of great stuff.
Linq、lambda、var keywork、目标树、匿名对象、较短的属性语法、对象初始值设定项、集合初始值设定项、扩展方法。
但 Lambda 和扩展方法是最重要的。 C# 3.0 非常好。
Linq, lambda, var keywork, desition trees, anonymous objects, shorter property syntax, object initializers, collection initializers, Extension Methods.
But Lambda and Extension Methods are the big ones. C# 3.0 is amazingly good.
差异确实存在于 C# 中,而不仅仅存在于 .NET 中。
有趣的是,通过 Visual Studio 2008 多目标,您可以在以前仅限于 C# 2.0 的 .NET 2.x 项目中使用 C# 3.0 中的大部分漂亮的东西。
你不会得到
,但你确实得到
var< /code>
因此,只需开始使用新的语法糖即可。
The differences are really in C# and not (just) in .NET.
The fun thing is, with Visual Studio 2008 multi-targeting you can use most of the nifty stuff from C# 3.0 in a .NET 2.x project previously limited to C# 2.0.
You don't get
but you do get
var
So, just start using the new syntactic sugar.
关于此主题有很多文章:
请参阅:http://www.developer .com/net/csharp/article.php/3561756
There are plenty of articles on this topic:
See: http://www.developer.com/net/csharp/article.php/3561756
C# 的演变如下所示:
请参阅演示文稿中的幻灯片 5 C# 和 Visual Basic 的未来,作者:PDC 10 的 Anders Hejlsberg。
The evolution of C# looks like this:
See slide 5 in the presentation The Future of C# and Visual Basic by Anders Hejlsberg from PDC 10.