2011-06-10 48 views
4

我从头开始一个新项目。我试图确定我是否应该使用C++的C++。无论哪种方式,它都是MS Visual 2010 Express版本。从头开始 - 我应该使用(MS Visual Studio)C#还是(MS Visual Studio)C++?

从应用程序中使用的角度来看,我敢肯定它不会不管我想要构建应用程序的最终用户。

对我来说,虽然......两件事。 1)我需要使用数据库,并将使用MS SQL Server。这应该会影响C#或C++? (但我认为C#稍微简单一点...)以及2)有一个开源代码库,我可能在某些时候想要将10合并到我的应用程序中。它是用C++编写的。

我可以编码。最近似乎C#更容易。但是,C++能让我使用该库...

还有什么我应该考虑在这里?

在此先感谢!

-Adeena

回答

7

C#是一种更简单的方法。基类库允许与SQL Server建立有效的通信。这个应用程序会更容易维护。您可以使用语言的Interop服务功能,在C#应用程序中始终使用C++调用.dll写入器的外部方法。

参见:

+0

你能解释一下如何做到这一点,或者将我指向一个示例/教程吗? (我通过例子学得最好......)谢谢! – adeena 2011-06-10 00:15:18

+0

啊......我明白了。谢谢! – adeena 2011-06-10 00:15:58

+0

本机C++库的另一个选项是用混合模式C++程序集来包装它。 – slugster 2011-06-10 00:20:02

2

如果您认为C#是比较容易然后使用C# ,至于开放源代码库,你想看看在C#中使用Platform Invoke

2

您既可以使用,就出来OK到底。几乎所有软件工程的关键在于降低总体维护成本,因此,C#可能比C++更容易维护。

您的数据库不会真正有所作为,因为这两种语言是建立在.NET框架的使用 - 您可以使用语言集成查询(LINQ)来包装你的数据库表格转化为实际的对象,以帮助抽象数据库操作,这应该使事情变得更容易。

编辑:

显然LINQ只有本身为C#。我一直认为这是针对整个框架的......单靠这个因素应该足以让你转向C#。

您可以使用P/Invoke从C#应用程序调用非托管C++方法。

+0

谢谢(对你和其他答复者)!我没有意识到可以从C#应用程序调用C++的东西。既然是这样,我肯定会在C#中为此工作......(直到我决定要使用这个C++库,它才会成为问题......) – adeena 2011-06-10 00:19:52

1

C#有办法,的方式使用LINQ更好的数据库互操作。如果你真的非常渴望它,你可以使用P/Invoke与C++ DLL或C++/CLI进行通信。