2011-10-05 32 views
2

使用來自EvilDicom的開源代碼進行編輯。不幸的是,這些代碼在VS2010中,它們使用命名空間System.NumericsMicrosoft.CSharp。我想知道在VS2008中是否有這些命名空間的等價物?我的應用程序內置VS2008,因此我試圖建立在2008年。VS2008中System.Numerics的用法

+0

http://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx http://stackoverflow.com/questions/4820953/where-is-my-system - 數字命名空間 – rahularyansharma

+0

@rahularyansharma我不認爲我可以使用它,因爲問題是基於VS2010中的用法,而我正在尋找VS 2008.謝謝! – user877852

回答

0

使用System.Numerics命名空間的唯一方法是在UIDHelper類中將GUID轉換爲十進制數。它基本上寫出一個16字節的整數,從一個GUID的字節創建,作爲一個十進制數。

我不知道這個值有多重要。你有兩個選擇:

  1. 您可以替換類似代碼這段代碼中不使用BigInteger類型,但對你來說已經足夠好。

  2. 您可以自己實現BigInteger類型。在J#類庫中有幾個實現,包括.NET Framework本身,(請參閱http://msdn.microsoft.com/en-us/magazine/cc163696.aspx)。

+0

嗨,@Jeffrey我的代碼中有一個UIDHelper。我不認爲第一個選項是可行的,因爲它可能不會有足夠的效率(我猜,不知道!)。感謝您的第二個鏈接,我將着眼於它! :) – user877852

+0

我在看我的代碼,我不認爲我會需要UIDHelper,我想現在我不會需要System.Numerics了。但是,當我構建我的解決方案時,我收到錯誤:系統缺少程序集引用,即使我的名稱空間都存在。我猜這是因爲代碼使用VS2010名稱空間,而我使用的是2008年。任何想法我怎麼能從這裏?謝謝! – user877852

+0

您應該能夠在解決方案資源管理器中刪除對System.Numerics和Microsoft.CSharp的引用。我認爲Microsoft.CSharp被添加來支持C#4.0中新的'dynamic'關鍵字。 –

0

MSDN說Microsoft.CSharp命名空間可用於早期的框架。確保你已經添加了對System.Core.dll和System.Dynamic.dll的引用。

enter image description here

凡爲System.Numerics Namespace是新換的.NET Framework 4.0。查找等價物取決於您在該名稱空間中使用的內容。我不確定BigIntegerComplex結構是否有任何等價物...

0

System.Numerics命名空間是在.net 4.0中添加的,並且在低版本的.net中沒有等效的命名空間。如果您有權訪問此程序的源代碼並願意更改它,您可以嘗試修改它,以便在許可證正確的情況下使用IntX庫作爲BigInteger的替代品。