Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串行从.ini文件转换为int32_C#_String_Hex_Streamwriter_Int32 - Fatal编程技术网

C# 将字符串行从.ini文件转换为int32

C# 将字符串行从.ini文件转换为int32,c#,string,hex,streamwriter,int32,C#,String,Hex,Streamwriter,Int32,我的程序创建两个字符串十六进制数,并将其保存到计算机上的.ini文件中。现在我想把它们转换成int32。在my.ini文件中,十六进制值按如下方式列出: 02E8ECB4 02E8ECB5 02E8ECE7 02E8EC98 现在我希望用新的转换值替换同一.ini文件中的这些值,如: 48819380 48819381 48819431 48819352 这就是我保存值的方式: using (StreamWriter writer = new StreamWrit

我的程序创建两个字符串十六进制数,并将其保存到计算机上的.ini文件中。现在我想把它们转换成int32。在my.ini文件中,十六进制值按如下方式列出:

  • 02E8ECB4
  • 02E8ECB5
  • 02E8ECE7
  • 02E8EC98
现在我希望用新的转换值替换同一.ini文件中的这些值,如:

  • 48819380
  • 48819381
  • 48819431
  • 48819352
这就是我保存值的方式:

            using (StreamWriter writer = new StreamWriter(@"C:\values.ini", true))
            {
                foreach (string key in values.Keys)
                {
                    if (values[key] != string.Empty)
                        writer.WriteLine("{1}", key, values[key]);
                }

            }

如果您关心的是如何解析这些字符串中的每一个并为它们创建相应的int,那么您可以尝试以下操作:

int val;
if(int.TryParse(str, System.Globalization.NumberStyles.HexNumber, out val))
{
    // The parsing succeeded, so you can continue with the integer you have 
    // now in val. 
}
其中
str
是字符串,例如
“02E8ECB4”
使用“
int.Parse()
将值从十六进制转换为十进制,如下所示:

using (StreamWriter writer = new StreamWriter(@"C:\values.ini", true))
{
    foreach (string key in values.Keys)
    {
        if (values[key] != string.Empty)
        {
            int hex;
            if(int.TryParse(values[key], System.Globalization.NumberStyles.HexNumber, out hex))
            {
                writer.WriteLine("{1}", key, hex);
            }
            else
            {
                //Replace this line with your error handling code.
                writer.WriteLine("Failed to convert {1}", key, values[key]);
            }
        }
    }
}

什么是价值观?如何定义和加载?您的WriteLine错误,有两个参数,但只有一个占位符{1}用于最后一个参数。但是你的问题缺少最重要的东西。你的问题是什么?