-3

我有一个这样开头的文本文件:

[Details]
Version=100
Switch=340
Video=800
Date=20100912
Length=00:49:34.2
Days=1
hours=20

有没有办法可以检查该[Details]部分中的每一行,然后执行类似的操作?

if(line == "version")
{
   // read the int 100
}

文本文件中还有其他我不感兴趣的文本。我只需要找到那个[Details]部分。

4

2 回答 2

1
        using (StreamReader sr = new StreamReader(path)) 
        {
            while (sr.Peek() >= 0) 
            {
                var keyPair =  sr.ReadLine();
                var key = keyPair.Split('=')[0];
                var value = keyPair.Split('=')[1];
            }
        }
于 2013-03-04T23:58:30.067 回答
0

您可以使用File.ReadAllLines查找行,然后从那里Version解析int

foreach (var line in File.ReadAllLines("file").Where(line => line.StartsWith("Version")))
{
    int value = 0;
    if (int.TryParse(line.Replace("Version=","").Trim(), out value))
    {
        // do somthing with value
    }
}

或者如果文件只包含 1 行版本

string version = File.ReadAllLines("file").FirstOrDefault(line => line.StartsWith("Version="));

int value = 0;
if (int.TryParse(version.Replace("Version=", "").Trim(), out value))
{
    // do somthing with value
}   
于 2013-03-05T00:02:15.850 回答