public static ArgumentsCollection Parse(string[] args) { var result = new ArgumentsCollection(); int i = 0; while (i < args.Length) { string arg = args[i]; if (arg.StartsWith("-")) { if (arg.Length != 2) { throw new InvalidOperationException(string.Format("Invalid argument: '{0}'.", arg)); } char key = arg[1]; string value = args[++i]; result.m_namedArguments.Add(key, value); } else { result.m_positionalArguments.Add(arg); } i++; } return(result); }
public static ArgumentsCollection Parse(string[] args) { var result = new ArgumentsCollection(); int i = 0; while (i < args.Length) { string arg = args[i]; if (arg.StartsWith("-")) { if (arg.Length != 2) throw new InvalidOperationException(string.Format("Invalid argument: '{0}'.", arg)); char key = arg[1]; string value = args[++i]; result.m_namedArguments.Add(key, value); } else result.m_positionalArguments.Add(arg); i++; } return result; }