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]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

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

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

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!