5509df4d0d557e15aca17902
這十六進制值24個位數,過大而被解析爲一個64位的整數。
參考:
- 最大字節0xFF的(2位)
- 最大UINT16 0xFFFF的(4位)
- 最大UInt32的0xFFFFFFFF的(8位)
- 最大UINT64 0xFFFFFFFFFFFFFFFF(16位)
我知道它會失敗,但我該怎麼做通過這個測試?
在沒有改變目標數據類型或輸入值的情況下,你無能爲力。
如果使用較小的十六進制數字,則需要使用允許指定數字樣式的TryParse overload。
bool result = Int64.TryParse(stringToConvert, NumberStyles.HexNumber,
CultureInfo.InvariantCulture, out number);
我試着用的BigInteger但它顯示錯誤。
的BigInteger應該正常工作在.NET 4.0和更高版本,如果你specify the NumberStyle
bool result = BigInteger.TryParse(hexString,
NumberStyles.AllowHexSpecifier,
null, out number))
類型或命名空間名稱 「的BigInteger」 couldnot找到(是否缺少using指令或程序集refernce當我做的BigInteger l_lID = 0;而不是長期l_lID = 0
您需要的程序集引用添加到System.Runtime.Numerics(在System.Runtime.Numerics.dll)和廣告d using System.Numerics;
添加到C#文件的頂部。
你不能使用很長的字母數字序列...... –
你有沒有簽出MSDN呢? [如何在十六進制字符串和數字類型之間轉換](https://msdn.microsoft.com/zh-cn/library/bb311038.aspx) – JasonWilczak
謝謝。絕對是新事物。 –