2014-10-10 68 views
1

我有一些舊的代碼,廣泛使用CInt,CStr和類似的。我正在更新這個版本,所以我們可以使用PCL作爲Xamarin/Mono目標。 Xamarin不提供這些方法(因爲它們是VisualBasic命名空間的一部分),儘管通常提供了底層方法。靈活更換CInt?

但我很困惑PCL允許的調用實際上是否匹配這些函數。 CInt將接受一個字符串,另一個int,一個double,幾乎任何東西,並返回一個Integer。但是......

  • Integer.Parse /的TryParse只需要字符串,你不能在一個雙通等
  • System.Convert.ToInt16 /六十四分之三十二似乎更靈活,但是這是相同的作爲整數?

是否有CInt,CDbl等的直接替代品?

+0

嗯,不,這些VB.NET方法很容易在面向VB的PCL項目中使用。很難猜測你在做什麼。 – 2014-10-10 18:47:51

+0

我只是在Windows和Xamarin目標上運行PCL Analyze Assemble Portability工具。它報告CInt在Xamarin下不可用,所以... – 2014-10-10 18:52:22

+0

但是它與Integer相同? => Int32 http://msdn.microsoft.com/en-us/library/06bkb8w2.aspx – tolanj 2014-10-10 19:00:09

回答

1

替換爲:

  • ConvertToInt32是一樣的整數,它會做的工作就像CINT()。 ConvertToInt64用於Long,ToInt16用於小值。
  • Casting> int result =(int)value; 這是投入一個int值。這與轉換它不一樣,但它可以在雙倍,浮動,長時間...如果可能的話。
  • Int.Parse,Int.TryParse。正如你提前指出的那樣,它只會解析一個字符串以在Integer上轉換它。

猜測爲您的需要最好的選擇是ConvertToInt32。