Feedback

C# - Ini Reader

Veröffentlicht von am 28.08.2007
(4 Bewertungen)
Hier kurz ein Snippet mit dem ihr aus einer ini datei ein Value bei einem bestimmten Key lesen könnet, key und Value sind in diesem Beispiel durch ein = getrennt.
public string GetValueFromIni(string key, string iniFilePath)
{
    string keyValue = null;
    string line     = null;

    using (FileStream filestream = new FileStream(iniFilePath, FileMode.Open, FileAccess.Read))
    {
        using (StreamReader reader = new StreamReader(filestream))
        {
            while (!reader.EndOfStream)
            {
                line = reader.ReadLine();
                if (line.StartsWith(key))
                {
                    keyValue = line.Substring(line.IndexOf('=') + 1);
                }
            }
        }
    }
    return keyValue;
}

Abgelegt unter Ini Reader, KeyValue, Ini.

3 Kommentare zum Snippet

Tach810i schrieb am 04.06.2009:
sorry, ich meinte
Klappt ganz gut, besser wäre es jedoch, wenn man die if-Abfrage ein bischen ändern würde, da der Reader sonst bei der Suche nach einem Eintrag jeden in der INI danach folgenden Eintrag, der exakt mit dem gesuchten Eintrag anfängt, findet. z.B:
Such nach: "meinWert"
ini:
wert=3
meinWert=4
andererWert=6
meinWertfalsch=3

dann wird die Anfrage mit 3, statt mit 4 beantwortet.

Daher folgende kleine Änderung der if-Abfrage:
if (line.StartsWith(key + "="))
Mathias Pain schrieb am 04.06.2009:
Sollte das nicht so auch gehen?


public string GetIniValue(string IniFileName, string Value)
{
return (System.IO.File.ReadAllLines(IniFileName).SingleOrDefault(line=>line.StartsWith(Value+"="))??"").Replace(Value+"=","");
}
dariusarnold schrieb am 24.01.2013:
Sry, aber schonmal was von Sections gehört??
 

Logge dich ein, um hier zu kommentieren!