public static string SerializaName(JsonFormatting jsonFormatting, string name) { var key = jsonFormatting.ToString() + name; if (_chachedNames.ContainsKey(key)) { return(_chachedNames[key]); } string value = null; lock (_chachedNames) { switch (jsonFormatting) { case JsonFormatting.Auto: value = name; break; case JsonFormatting.CamelCase: var s = name.Substring(1, name.Length - 1); value = $"{name[0].ToString().ToLower()}{s}"; break; case JsonFormatting.LowerCase: value = name.ToLower(); break; } return(_chachedNames.GetOrAdd(key, value)); } }