2010-08-12 87 views
10

WPF应用程序的核心是托管应用程序吗? Right?所以,我必须选择使用托管C++还是托管C#。我在几年前对托管的C++进行了实验。它似乎还没有准备好黄金时段。我猜测微软已经把更多的精力投入托管的C#中,而不是托管的C++。所以,使用托管C#似乎是两者之间的最佳选择。是这样吗?你对WPF有什么经验?提前致谢。应该用C++/CLI还是C#编写WPF应用程序?

回答

13

托管C++已被C++/CLI取代,“托管C#”仅仅是C#。

我强烈建议您将C#用于新项目,并仅在需要时使用C++/CLI。 C#拥有更好的支持,拥有更大的用户群,并且更易于在Visual Studio 2010中工作。

此外,请记住,C++和C++/CLI是两种不同的语言。对于我的第一个.Net项目,我选择了C++/CLI,因为我已经知道C++了,这是一个非常糟糕的想法:从C++到C++/CLI的学习曲线类似于从C++学习C#:不要落入该陷阱。

1

就后端而言,它们都运行在CLR上,都能胜任。真的,它只是归结于你最舒服的。如果你不确定,试试两者。 使用任何感觉最有成效的东西。

编辑

由于刚刚向我指出的是,它似乎是WPF模板(甚至可能是智能感知)的支持仅仅是不存在的C++。所以在这种情况下,我想我必须推荐C#。

+1

不是:Visual Studio具有支持使用C#(和VB.NET)进行WPF开发的IDE功能,但不支持C++/CLI。然后有这个:http://stackoverflow.com/questions/2681999/no-intellisense-for-c-cli-in-visual-studio-2010 – 2010-08-12 12:24:14

+0

谢谢你把我的注意力。我没有意识到缺乏支持。 – nukefusion 2010-08-12 12:27:28

1

C#是最常用的,所以如果遇到问题,还有更多的C#在线支持。 C#也有更好的微软支持。即使是现在,它总体上也只是一个更完整的产品。如果你真的不关心你自己,我会用C#去。

+1

不正确。C++/CLI *是一个完美且精彩的产品,特别是C++ 0x规范和使用C++头文件模板库的能力。但它很少是工作的正确工具。 – 2010-08-12 12:27:26

+0

我认为C++对于游戏来说比较好,你需要经常到达基本级别。 WPF正在尝试做出确切的对照; '远离绘画,让我为你做所有事情'。 C#更适合这个概念。 – 2010-08-13 00:08:22

2

您可以为后端使用托管C++,但在检查时,VS(我正在使用2010 Ultimate)没有任何C++ WPF应用程序的内置模板 - 只有C#或VB。

我相信你可能如果你想强制它工作,但我建议你使用C#。

4

C++/CLI只是真正支持在非托管代码(即本地C/C++)和托管代码之间编写互操作层。对于“繁重”,你绝对应该使用C#(或VisualBasic.NET)。

1

IMO毫无疑问C#(或VB/F#)。

当跨越托管世界和C++库的边界时,C++/CLI非常棒。复杂性较高,但微妙的问题来自于将一种托管语言和一种非托管语言相结合的事实。

尽管在C++/CLI中编译时间长,但特别是因为代码模板是在C#编译器的工作方式之后进行建模的,而不是C++编译器的工作方式。

相关问题