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 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

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!