public ArgumentsWork(string[] args) { if (args.Length > 1) { FileType = args[0]; FileSource = args[1]; } else { return; } List <string[]> param = new List <string[]>(); for (int i = 2; i < args.Length; i++) { if (args[i][0] == '-') { if (param.Count > 0) { var temp = ArgumentList.LastOrDefault(); if (temp == null) { Param.Update(param); } else { temp.Parameters.Update(param); } param.Clear(); } ArgumentList.Add(new Argument(args[i].Substring(1).ToLower())); } else if (args[i][0] == '/') { param.Add(new string[] { args[i].Substring(1).ToLower(), "" }); } else { var temp = param.LastOrDefault(); if (temp != null) { temp[1] = args[i]; } else { var lastarg = ArgumentList.Last(); if (lastarg != null) { lastarg.Value = args[i]; } } } } if (param.Count > 0) { var temp = ArgumentList.Last(); if (temp == null) { Param.Update(param); } else { temp.Parameters = new Parameters(param); } param.Clear(); } }