C#/ .NET,看什么?

Han*_*rén 1 c#

我看到很多C#/ .NET程序员的招聘广告,所以我认为看看它可能是一个好主意.

看了几个教程后,我发现对我来说没有什么新东西.只是一种语法在Java和C++之间的某种语言(尽管可能比两者都好).

那么,我应该关注哪些功能?有哪些特殊功能?C#/ .NET如此庞大的原因是什么?什么是杀手级的功能或者可能是一些真正邪恶的语言?

我们非常欢迎链接和代码示例.

我在Linux上使用Mono实现.

Win*_*mer 8

.Net Framework库比语言更重要.


Jon*_*eet 6

与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等效指南.