PeanutButter.INI by Davyd McColl

<PackageReference Include="PeanutButter.INI" Version="3.0.177" />

 INIFile

public class INIFile : IINIFile
public IEnumerable<string> AllSections { get; }

public bool AppendTrailingNewLine { get; set; }

public ILineParser CustomLineParser { get; set; }

protected Dictionary<string, IDictionary<string, string>> Data { get; }

Data storage for the current INI data

public Encoding DefaultEncoding { get; set; }

public IDictionary<string, string> this[string index] { get; set; }

public IEnumerable<string> MergedSections { get; }

public ParseStrategies ParseStrategy { get; set; }

public string Path { get; }

public IEnumerable<string> Sections { get; }

public string SectionSeparator { get; set; }

public bool WrapValueInQuotes { get; set; }

public INIFile()

Constructs an instance of INIFile without parsing any files, defaulting to best effort parser

public INIFile(string path)

Constructs an instance of INIFile, parsing the provided path if found, with the best-effort parser

public INIFile(ILineParser lineParser)

Constructs an instance of INIFile with a custom line parser

public INIFile(string path, ILineParser customLineParser)

Constructs an instance of INIFile with a custom line parser

public INIFile(string path, ParseStrategies parseStrategy)

Constructs an instance of INIFile, parsing the provided path if found, with escaped characters enabled if enableEscapeCharacters is true

public static INIFile FromString(string ini)

Loads INI data from a string

public void AddSection(string section, string[] comments)

public IDictionary<string, string> GetSection(string section)

public string GetValue(string section, string key, string defaultValue = null)

public bool HasSection(string section)

public bool HasSetting(string section, string key)

public void Load(string path)

public void Load(string path, Encoding encoding)

public void Load(string path, ParseStrategies parseStrategy)

public void Load(string path, ParseStrategies parseStrategy, Encoding encoding)

public void Merge(string iniPath, MergeStrategies mergeStrategy)

public void Merge(IINIFile other, MergeStrategies mergeStrategy)

public void Parse(string contents)

public void Persist()

public void Persist(Encoding encoding)

public void Persist(PersistStrategies persistStrategy)

public void Persist(PersistStrategies persistStrategy, Encoding encoding)

public void Persist(string saveToPath)

public void Persist(string saveToPath, Encoding encoding)

public void Persist(string saveToPath, PersistStrategies persistStrategy)

public void Persist(string saveToPath, PersistStrategies persistStrategy, Encoding encoding)

public void Persist(Stream toStream)

public void Persist(Stream toStream, Encoding encoding)

public void Persist(Stream toStream, PersistStrategies persistStrategy)

public void Persist(Stream toStream, PersistStrategies persistStrategy, Encoding encoding)

public void Reload()

public void RemoveSection(string section)

public bool RemoveValue(string section, string key)

public bool RemoveValue(string section, string key, bool removeEmptySection)

public void RenameSection(string existingName, string newName)

public void SetValue(string section, string key, string value)