private static bool TryGetValueAsString()

in src/Utilities.cs [402:426]


        private static bool TryGetValueAsString(IReadOnlyDictionary<string, string> bag, string propertyName, bool caseSensitive, out string valueAsString)
        {
            valueAsString = null;
            
            if (bag.SafeFastNone())
            {
                return false;
            }

            if (caseSensitive)
            {
                return bag.TryGetValue(propertyName, out valueAsString);
            }

            foreach (var kvp in bag)
            {
                if (string.Equals(kvp.Key, propertyName, StringComparison.OrdinalIgnoreCase))
                {
                    valueAsString = kvp.Value;
                    return true;
                }
            }

            return false;
        }