long.Parse()C#

如何将一个字符串(例如“-100,100”)转换为C#中的长字符串.

我目前有一行代码

long xi = long.Parse(x,System.Globalization.NumberStyles.AllowThousands);

但是当x为“负数”时,则会中断.

我的方法

long xi = long.Parse("-100,253,1",System.Globalization.NumberStyles.AllowLeadingSign & System.Globalization.NumberStyles.AllowThousands);

是错的,因为它打破了.

解决方法

一个去:
long xi = long.Parse(x,System.Globalization.NumberStyles.AllowThousands | System.Globalization.NumberStyles.AllowLeadingSign);

这可能是因为您声明旗帜,您可能需要声明将被击中的所有可能的标志.
我刚刚确认这个代码是在测试项目中使用你的给定的字符串值在问题.让我知道如果它符合你的要求.在单个参数中声明多个标志使用|而不是&

编辑:
http://msdn.microsoft.com/en-us/library/cc138362.aspx在“枚举类型作为位标志”标题下找到不同的按位运算符的解释(比我想象的更难找到).

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...