当前位置:  开发笔记 > 编程语言 > 正文

你在.NET中最喜欢的功能是什么?

如何解决《你在.NET中最喜欢的功能是什么?》经验,为你挑选了4个好方法。

.NET中有很多功能.一些语言相关,其他语言将与框架本身相关并且具有访问/执行/执行xyz的能力.为了好玩,我想知道社区.NET或ASP.NET中最喜欢的功能包括什么?

这是一个社区维基问题,因为它主要用于轮询目的,以查看.NET的所有方面都有什么样的响应

具体来说,尝试像代码示例一样包含一些内容.

示例类别和主题:

DLR

LINQ

表达式

WPF

泛型

WCF

Michael Gund.. 14

泛型.非常适合不滚动自己的容器类.自C#2.0起可用.

public T Remove(T item) {
  foreach (T t in this.list) {
    if (t.equals(item)) {
      list.delete(t);
      return t;
    }
  }
  return null;
}


Shog9.. 11

反思.让我们面对现实吧:没有反思,.NET只是一个想成为的人.或许,如果我们想要慷慨,一个Java想成为 - 但Java有反思,有点像Pascal想要的其他方式,所以让我们避免这个论点,只是接受.NET想要成为一个便携式汇编程序有足够的元数据使VB工作.

我听说有人声称你应该避免使用Reflection,因为它会减慢你的程序并使静态分析工具的生活变得困难......坦率地说,这是一堆粪便.功能会降低C值,但谁会编写没有函数的C代码?宏使C的静态分析变得困难,但如果没有宏,C就没有了!因此,我敦促你坚持下去 - 如果反思让你的生活更轻松,那就用它吧.哎呀,虐待它.根据自己的意愿弯曲你的.NET选择语言并展示谁是老板 - 用反射作为你可信赖的橡木俱乐部.然后啜饮你的冰茶,凝视你手中的作品,相信没有人敢说你不是你工具的主人.



1> Michael Gund..:

泛型.非常适合不滚动自己的容器类.自C#2.0起可用.

public T Remove(T item) {
  foreach (T t in this.list) {
    if (t.equals(item)) {
      list.delete(t);
      return t;
    }
  }
  return null;
}



2> Shog9..:

反思.让我们面对现实吧:没有反思,.NET只是一个想成为的人.或许,如果我们想要慷慨,一个Java想成为 - 但Java有反思,有点像Pascal想要的其他方式,所以让我们避免这个论点,只是接受.NET想要成为一个便携式汇编程序有足够的元数据使VB工作.

我听说有人声称你应该避免使用Reflection,因为它会减慢你的程序并使静态分析工具的生活变得困难......坦率地说,这是一堆粪便.功能会降低C值,但谁会编写没有函数的C代码?宏使C的静态分析变得困难,但如果没有宏,C就没有了!因此,我敦促你坚持下去 - 如果反思让你的生活更轻松,那就用它吧.哎呀,虐待它.根据自己的意愿弯曲你的.NET选择语言并展示谁是老板 - 用反射作为你可信赖的橡木俱乐部.然后啜饮你的冰茶,凝视你手中的作品,相信没有人敢说你不是你工具的主人.



3> bryanbcook..:

我认为.NET中有很多很棒的功能,但是我的投票是针对那些使这个平台成为最佳软件技术选择之一的东西:

垃圾收集 - 当你的对象的记忆必须被释放时,幸福无知是一个伟大的礼物.在其他语言(C++)中,如果您不自行清理,则会出现内存泄漏和蓝屏.

即时编译 - 编译器在使用前优化每个方法,删除冗余或未优化的代码.

AppDomains - 当.NET应用程序死机时,它不会破坏您的系统.

并排执行XCopy部署 - 不再有DLL地狱.努夫说.

平台抽象 - 该框架隐藏了本机Win32 Api的许多版本控制细节.

语言中立 - 无论是VB.NET,C#还是您喜欢的任何语言,它都是MSIL.能够在VB.NET中继承C#类非常酷.

互操作性 - 能够调用传统的Win32 API,与COM +互操作等

其他:

如前所述,反思是杀手锏.

Xml Configration支持远远优于Java的属性文件语法.

我真的要选一个吗?



4> Marc Gravell..:

代表; 我喜欢编写功能样式代码的能力,没有F#的痛苦,以及C++的无类型函数指针.再加上非常好的lambda语法(C#),以及编译器对捕获的支持,它们非常棒!我更喜欢C#capture到java捕获,因为值可以以任何一种方式流动(捕获变量而不是值).

作为一个微不足道的例子 - 这不是多么痛苦?

string name = // something interesting
var item = list.Find(x => x.Name == name && x.Status == Status.Open);

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有