【发布时间】:2015-12-03 03:55:56
【问题描述】:
我今天在写的时候遇到了一个非常愚蠢的问题: 在一个地方,我必须给出一个长值,比如 0x70、0x3BC0 或类似的东西。 我必须从文本文件中获取此值。 我正在使用这样的 System.IO:
string[] stringTakenByFile = File.ReadAllLines(@"thePathToFile.txt");
从这里我可以取值,但是是字符串格式。我的意思是与 0x70 相同的值,但不是 long 或 int,而是文本(字符串)。当我尝试解析它或将其从字符串转换为 int/long 时,它给了我一个异常,女巫说:输入字符串的格式不正确。 如果你能帮助我,那就太棒了! 谢谢! 编辑:我不想“如何在 C# 中转换十六进制和十进制之间的数字?”我需要从字符串到 LONG
【问题讨论】:
-
你如何尝试转换它?
-
字符串变量WhereIStoreTheStringResult;长变量WhereIwannaStoreTheResult = Convert.ToInt64(variableWhereIStoreTheStringResult); long variableWhereIwannaStoreTheResult = int64.Parse(variableWhereIStoreTheStringResult);
-
Convert.ToInt64("Your Hex String", 16);应该是您正在寻找的东西。 16 这里是基数。 -
试试这个代码 hexNumber = hexNumber.Replace("x", string.Empty);长结果 = 0; long.TryParse(hexNumber, System.Globalization.NumberStyles.HexNumber, null, out result);
-
@Std_Net ,您会像答案一样发布它吗?这很完美!
标签: c#