如何在WindowsPhone7中将字符串转换为整数

3

我需要在Windows Phone 7上将字符串转换为整数。我尝试了下面的代码,但我的应用程序崩溃了:

int val1 = Convert.ToInt16(str);

有没有其他做法?

请编辑您的问题,提供有关您遇到的错误以及传递的字符串的详细信息。此外,很难看出这与Windows Phone有关 - 这是一个一般的.NET问题。 - Damian
5个回答

9

为什么会崩溃?你是否收到错误信息?'str'的实际值是多少?也许问题就出在这里。我建议使用ToInt32(),因为它返回一个整数,而ToInt16()只返回一个短整型。这不会有问题,但看起来更合逻辑。最后,这些方法可以完成任务:

int val1 = Convert.ToInt32("123");

int val2 = int.Parse("123");

int val3 = 0;
int.TryParse("123", out val3);

这里的字符串包含了这个值 string str = cusseconds.ToString(); - dineshprasanna
什么?!那怎么可能有任何帮助呢? - Abbas
哦,好的,我以为这是一个提议的解决方案或者什么的,我的错.. :D 你有变量的实际值吗?尝试调试/设置断点并评估变量的值来获取它。然后看看它是否处于正确的格式以转换为int。 - Abbas
先生,您说得对,字符串是问题所在,非常感谢。 - dineshprasanna

2

你是否尝试过

string str = "155";
int retVal;
if(int.TryParse(str, out retVal))
{
   // You can now code with it
}

2

要将字符串转换为整数,请使用


string text = "500";
int num = int.Parse(text);

1

尝试使用 Convert.ToInt32(str)

希望这可以帮到你 :)


1

我认为int.TryParse是最好的选择。这样你就可以通过检查返回值来知道解析是否成功。优点是它不会抛出任何异常,因此您不必编写任何错误处理代码,使其更简单且容错性更强。我个人不喜欢抛出很多异常的代码,因为在处理它们时可能会轻易犯错。

如果您确定要在32位平台上使用它,可以尝试Int32.TryParse(),或者如果是64位平台,则可以使用Int64.TryParse()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接