using System.Collections.Generic; using System.Linq; namespace NBF.Setting { public class OptionTable { public struct OptionEntry { public string Name; public T Value; public OptionEntry(string name, T value) { this.Name = name; this.Value = value; } } List entries = new List(); public void Add(string name, T value) { entries.Add(new OptionEntry(name, value)); } public List GetNames() => entries.Select(x => x.Name).ToList(); public List GetValues() => entries.Select(x => x.Value).ToList(); public T GetValue(int index) => entries[index].Value; public string GetName(int index) => entries != null ? entries[index].Name : string.Empty; } }