解析 [C#] 后从文件中读取长整型文件



我正在尝试从结构如下的文件读取: VariableName:14326A6AC Value:Long Value:Long

我正在尝试按照下面列出的方式阅读它,但是出现格式错误。当我添加十六进制格式(长整字母的格式)时,它们将转换为十进制。有没有办法将它们保留为长,这样我就不必进行从十进制到十六进制的长转换?

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;
        }

这是你需要的:

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

是以 16 为底(十六进制)。此函数从十六进制字符串转换为长整型字符串。

您必须允许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);

试试这个

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

最新更新