将ini读取值(字符串)转换为int

时间:2014-07-09 23:03:54

标签: c# converter ini

我很惊讶C#不支持ini句柄,但当然我知道这样做不会那么难,一个简单的搜索给了我这个小而简单的类来处理简单的ini文件 http://www.codeproject.com/Articles/1966/An-INI-file-handling-class-using-C

iniReadValue返回一个字符串,我想将其转换为整数。 我虽然Convert.ToInt32可以工作,但它不会这样做不会工作

int keyclosewindows = Convert.ToInt32(ini.IniReadValue("Key info", "CloseWindows"));

ini读取返回一个存储在字符串

中的整数
ini.IniReadValue("Key info", "CloseWindows") //= "1"

我知道这是一个愚蠢的问题,但不幸的是我无法提出解决方案

错误讯息:

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

Additional information: Input string was not in a correct format.

1 个答案:

答案 0 :(得分:2)

如果IniReadValue的结果包含引号,则需要在转换为整数之前将其修剪掉:

var temp = ini.IniReadValue("Key info", "CloseWindows").Trim('\"');
int keyclosewindows = Convert.ToInt32(temp);

否则,问题是ini密钥要么不存在,要么格式不是整数。