using System.Globalization;
using System.Collections.Generic;
public static void Main()
RecordData dict = new RecordData();
dict.SetData("str", "text");
dict.SetData("long", 1234567890987654321);
dict.SetData("object", new BaseData("123", "abc"));
foreach (string key in dict.Keys)
Console.WriteLine("{0}: {1} | {2}", key, dict.GetData(key), dict.GetData(key).GetType());
private Dictionary<string, object> dict = new Dictionary<string, object>();
public int Count { get => dict.Count; }
public ICollection<string> Keys { get => dict.Keys; }
public void SetData(string key, object value)
if (dict.ContainsKey(key))
public object GetData(string key) => dict.ContainsKey(key) ? dict[key] : null;
public string GetStringData(string key) => dict.ContainsKey(key) ? dict[key].ToString() : "";
public int GetIntData(string key)
if (dict.ContainsKey(key))
int.TryParse(dict[key].ToString(), out num);
public long GetLongData(string key)
if (dict.ContainsKey(key))
long.TryParse(dict[key].ToString(), out num);
public BaseData(string id, string name)