SystemTrayMenu/Utilities/File/FileIni.cs

36 lines
1,016 B
C#
Raw Normal View History

// <copyright file="FileIni.cs" company="PlaceholderCompany">
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
2019-07-05 05:04:14 +12:00
namespace SystemTrayMenu.Utilities
2019-07-05 05:04:14 +12:00
{
using System.Collections.Generic;
using System.IO;
using System.Linq;
2019-07-05 05:04:14 +12:00
public class FileIni
{
private readonly Dictionary<string, string> values;
2019-07-05 05:04:14 +12:00
public FileIni(string path)
{
values = File.ReadLines(path)
.Where(line => !string.IsNullOrWhiteSpace(line) &&
!line.StartsWith("#", System.StringComparison.InvariantCulture))
2019-07-05 05:04:14 +12:00
.Select(line => line.Split(new char[] { '=' }, 2, 0))
.ToDictionary(parts => parts[0].Trim(), parts =>
parts.Length > 1 ? parts[1].Trim() : null);
2019-07-05 05:04:14 +12:00
}
2019-07-05 05:04:14 +12:00
public string Value(string name, string value = null)
{
if (values != null && values.ContainsKey(name))
{
return values[name];
}
2019-07-05 05:04:14 +12:00
return value;
}
}
}