Feedback

C# - Ini Reader

Veröffentlicht von am 28.08.2007
(5 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.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

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!