2014-10-10 72 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。