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 Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

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!