C# 微软.net,值得吗?

C# 微软.net,值得吗?,c#,.net,c++,c,C#,.net,C++,C,因此,使用Microsoft.NET,您可以获得语言互操作性的优势。但我听说这比本地应用程序慢。如果你只需要一种语言怎么办?那么优势是什么呢。我是C和C++程序员,.NET似乎与C语言紧密联系在一起。是这样吗?网络是可移植的,还是绑定到windows 和最后,是.NET价值观,从C++程序员的角度来看,不需要语言互操作性? 谢谢 那么有什么好处 你可以得到所有的.NET类 那么有什么好处 您可以获得所有的.NET类。语言互操作性是.NET的一项功能。它远远不是.Net中唯一的功能。不要忘记高级垃

因此,使用Microsoft.NET,您可以获得语言互操作性的优势。但我听说这比本地应用程序慢。如果你只需要一种语言怎么办?那么优势是什么呢。我是C和C++程序员,.NET似乎与C语言紧密联系在一起。是这样吗?网络是可移植的,还是绑定到windows

<>和最后,是.NET价值观,从C++程序员的角度来看,不需要语言互操作性?

谢谢

那么有什么好处

你可以得到所有的.NET类

那么有什么好处


您可以获得所有的.NET类。

语言互操作性是.NET的一项功能。它远远不是.Net中唯一的功能。不要忘记高级垃圾收集、linq、改进的api组织等等。语言互操作性是.Net的一项功能。它远远不是.Net中唯一的功能。不要忘记高级垃圾收集、linq、改进的api组织等等。与“Java很慢”一样,“.NET很慢”是一个错误的概念。是的,它比本地慢,是的,你可以使用手工优化的程序来获得更快的程序,但是对于几乎所有的游戏引擎核心代码来说,.NET都和在C或C++中做同样的事情一样快,而且(在某些情况下)可以更快。
您还可以从自动内存管理中获得巨大的好处(这样您就可以
新建
一个堆对象,然后忘记它),并且可以使用一个大型类库。

“.NET很慢”与“Java很慢”是一个误解。是的,它比本地慢,是的,你可以使用手工优化的程序来获得更快的程序,但是对于几乎所有的游戏引擎核心代码来说,.NET都和在C或C++中做同样的事情一样快,而且(在某些情况下)可以更快。 您还可以获得自动内存管理的巨大好处(这样您就可以
new
一个堆对象,然后忘记它),以及一个可供您使用的大型类库

因此,使用Microsoft.NET,您可以获得语言互操作性的优势

这不是主要的优势。大多数人用C#编写代码,大多数人试图避免同时使用VB和C进行项目#

但我听说这比较慢 而不是本地应用程序

NET具有内存管理功能,这可能会使它在某些方面的速度变慢。然而,经典的例子——游戏,很多XBox游戏现在都是用

网络是可移植的,还是绑定到 窗户

有一个名为Mono的项目已经将.NET移植到linux,还有一个名为MonoTouch的平台在iPhone上运行该代码

然而,它大体上是以香草的形式与Windows操作系统绑定在一起的

那么有什么好处呢

大多数人使用C#编写代码,因为它在web和桌面上都是一种功能强大的语言,并且具有简单的学习曲线和良好的工具。它还有一个功能强大的类库,类似于Java(IMO),但比Java更全面

因此,使用Microsoft.NET,您可以获得语言互操作性的优势

这不是主要的优势。大多数人用C#编写代码,大多数人试图避免同时使用VB和C进行项目#

但我听说这比较慢 而不是本地应用程序

NET具有内存管理功能,这可能会使它在某些方面的速度变慢。然而,经典的例子——游戏,很多XBox游戏现在都是用

网络是可移植的,还是绑定到 窗户

有一个名为Mono的项目已经将.NET移植到linux,还有一个名为MonoTouch的平台在iPhone上运行该代码

然而,它大体上是以香草的形式与Windows操作系统绑定在一起的

那么有什么好处呢


大多数人使用C#编写代码,因为它在web和桌面上都是一种功能强大的语言,并且具有简单的学习曲线和良好的工具。它还有一个功能强大的类库,类似于Java(IMO)的类库,但比Java(IMO)的类库更为全面。

如果使用duck类型和
var
关键字,那么速度会很慢,而且要确保使用大量的值类型,这样可以在堆栈上分配内存,而且速度会更快。也许程序员.stackexchange会为您提供更好的性能luck@John拉什,你真的知道
var
关键字的意思吗?它与duck类型无关。用
var
声明的变量是隐式类型的,但仍然是强类型的。只是编译器从初始化表达式推断类型,所以在声明变量时不必重复。而且,它是声明匿名类型变量的唯一方法。@Thomas Levesque有多少人认为
var
是duck类型,这让我继续感到惊讶。呃。@Thomas Levesque:我想他是在挖苦人……如果你用duck类型加上
var
关键字,那就太慢了——而且一定要使用很多值类型,这样你的内存就可以在堆栈上分配,而且速度更快。也许程序员.stackexchange会给你更好的效果luck@John拉什,你真的知道
var
关键字的意思吗?它与duck类型无关。用
var
声明的变量是隐式类型的,但仍然是强类型的。只是编译器从初始化表达式推断类型,所以在声明变量时不必重复。而且,它是声明匿名类型变量的唯一方法。@Thomas Levesque有多少人认为
var
是duck类型,这让我继续感到惊讶。啊。@Thomas Levesque:我想他是在讽刺……我不同意。NET的速度较慢,但开发人员的速度要快很多倍。请使用.NET(或Java)编写下一代H.264解码器,然后我们就可以讨论了。我同意(以及他们的许多基准测试)表明.NET并不比C++/Java慢或快很多。我不同意自动化内存管理是必要的