System.StringHelper.SplitAsDictionary C# (CSharp) Method

SplitAsDictionary() private method

private SplitAsDictionary ( String value, String nameValueSeparator = "=" ) : String>.IDictionary
value String
nameValueSeparator String
return String>.IDictionary
        public static IDictionary<String, String> SplitAsDictionary(this String value, String nameValueSeparator = "=", params String[] separators)
        {
            var dic = new NullableDictionary<String, String>(StringComparer.OrdinalIgnoreCase);
            if (value.IsNullOrWhiteSpace()) return dic;

            if (String.IsNullOrEmpty(nameValueSeparator)) nameValueSeparator = "=";
            if (separators == null || separators.Length < 1) separators = new String[] { ",", ";" };

            var ss = value.Split(separators, StringSplitOptions.RemoveEmptyEntries);
            if (ss == null || ss.Length < 1) return null;

            foreach (var item in ss)
            {
                var p = item.IndexOf(nameValueSeparator);
                // 在前后都不行
                if (p <= 0 || p >= item.Length - 1) continue;

                var key = item.Substring(0, p).Trim();
                dic[key] = item.Substring(p + nameValueSeparator.Length).Trim();
            }

            return dic;
        }

Same methods

StringHelper::SplitAsDictionary ( String value, String nameValueSeparator = "=", String separator = ";", Boolean trimQuotation = false ) : String>.IDictionary