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;
}
});
}