10

WPF 应用程序的核心是托管应用程序? 正确的? 因此,我必须在使用托管 C++ 或托管 C# 之间做出选择。几年前,我尝试过托管 C++。它似乎还没有为黄金时段做好准备。我猜微软在托管 C# 上投入了比托管 C++ 更多的努力。因此,似乎使用托管 C# 是两者之间的最佳选择。是这样吗?您在使用这两种语言的 WPF 方面有哪些经验?提前致谢。

4

6 回答 6

14

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

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

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

于 2010-08-12T12:20:44.300 回答
4

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

于 2010-08-12T12:24:50.363 回答
2

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

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

于 2010-08-12T12:22:28.087 回答
1

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

当跨越托管世界和 c++ 库的边界时,C++/CLI 非常棒。尽管将托管语言和非托管语言结合起来会产生微妙的问题,但复杂性更高。

尽管在 C++/CLI 中编译时间也更长,尤其是因为代码模板是根据 C# 编译器的工作方式而不是 C++ 编译器的工作方式建模的。

于 2010-08-12T14:13:28.270 回答
1

在后端方面,它们都在 CLR 上运行并且都能够胜任这项工作。真的,它只是归结为你最舒服的。如果您不确定,请尝试两者。使用任何感觉最有成效的东西。

编辑

正如刚刚向我指出的那样,似乎 C++ 不支持 WPF 模板(甚至可能是智能感知)。所以在那种情况下,我想我不得不推荐 C#。

于 2010-08-12T12:17:42.483 回答
1

C# 是最常用的,所以如果你有困难,C# 的在线支持也比较多。C# 也得到了微软更好的支持。它总体上只是一个更成品,即使是现在。如果你真的不在乎自己,我会选择 C#。

于 2010-08-12T12:20:33.177 回答