2011-06-10 55 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進行通信。