KonfDB.Infrastructure.Utilities.CommandArgs.Parse C# (CSharp) Method

Parse() private method

private Parse ( IEnumerable args ) : void
args IEnumerable
return void
        private void Parse(IEnumerable<string> args)
        {
            _parameters = new Dictionary<string, string>();
            _args = args.ToList();

            var spliter = new Regex(@"^-{1,2}|^/|=|:", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            args.ToList().ForEach(x =>
            {
                var parts = spliter.Split(x, 3).Where(s => !string.IsNullOrEmpty(s)).ToArray();
                switch (parts.Length)
                {
                    case 1:
                        if (_parameters.ContainsKey(parts[0]) == false)
                            _parameters.Add(parts[0], parts[0]);
                        else
                            _parameters[parts[0]] = parts[0];
                        break;
                    case 2:
                        if (_parameters.ContainsKey(parts[0]) == false)
                            _parameters.Add(parts[0], parts[1]);
                        else
                            _parameters[parts[0]] = parts[1];
                        break;
                    case 3:
                        // should ideally not reach here
                        break;
                }
            });
        }