解析后从文件中读取很长时间[C#]

时间:2016-03-04 08:25:09

标签: c# file parsing long-integer

我试图从一个结构如下的文件中读取: VariableName:14326A6AC Value:Long Value:Long

我正在尝试阅读它,如下所示,但我收到格式错误。当我添加十六进制格式(longs格式)时,它们将转换为十进制。有没有办法让它们保持很长时间,所以我不必进行从十进制到十六进制的长时间转换?

public static long returnLineValue(string lineName)
        {
            var lines = File.ReadLines(filePath);
            foreach (var line in lines)
            {
                if (line != null)
                {
                    char split = ':';
                    if(line.Contains(lineName))
                    {
                        string[] s = line.Split(split);
                        return Int64.Parse(s[1]);
                    }
                }
            }
            return 0;
        }

3 个答案:

答案 0 :(得分:4)

这就是你需要的:

return Convert.ToInt64(s[1], 16)

16是16(十六进制)。此函数从十六进制字符串转换为long。

答案 1 :(得分:0)

您必须在Parse中允许十六进制值

...
// The same Parse but with hexadecimals allowed
return Int64.Parse(s[1], NumberStyles.AllowHexSpecifier, CultureInfo.InvariantCulture);
...

如果您想以十六进制格式代表 Int64,请使用格式

  Int64 value = 255;

  String result = value.ToString("X"); // "X" for hexadeimal, capital letters

  // "FF"
  Console.Write(result);

答案 2 :(得分:0)

试试这个

   return Int64.Parse(s[1],System.Globalization.NumberStyles.HexNumber)