我看到很多C#/ .NET程序员的招聘广告,所以我认为看看它可能是一个好主意.
看了几个教程后,我发现对我来说没有什么新东西.只是一种语法在Java和C++之间的某种语言(尽管可能比两者都好).
那么,我应该关注哪些功能?有哪些特殊功能?C#/ .NET如此庞大的原因是什么?什么是杀手级的功能或者可能是一些真正邪恶的语言?
我们非常欢迎链接和代码示例.
我在Linux上使用Mono实现.
.Net Framework库比语言更重要.
与Java相比:
"using"语句(try/finally在C#中很少显式)(C#1)
代表作为一流的概念(C#1)
属性和事件作为一等概念(C#1)
用户定义的值类型(C#1)
操作员超载(小心使用!)(C#1)
迭代器块(C#2)
没有类型擦除的泛型(C#2)
匿名方法(C#2)
部分类型(适用于代码生成)(C#2)
对象和集合初始值设定项(C#3)
Lambda表达式(C#3)
扩展方法(C#3)
表达树(C#3)
查询表达式(又名查询理解)(C#3)
匿名类型(主要用于查询经历)(C#3)
无论如何,当我用Java编写时,它们是我从C#中想念的东西.(当然,这并不是一个详尽的差异列表.)当然,哪些对你来说最重要的是主观的.从一个简单的"搞定事情"的角度来看using
陈述可能是单一最大的实用收益,即使它只为您构建一个try/finally块.
编辑:有关C#2和3功能的快速示例,您可能需要查看我的Bluffer C#2指南和C#3的等效指南.