private static ImportItem ParseLine(Int32 line, String data) { ImportItem result = new ImportItem() { Line = line, Data = data }; Int32 offset = ImportParser.IndexOfWhiteSpace(data); if (offset >= 0 && offset < data.Length) { result.Method = data.Substring(0, offset).Trim().Trim('"'); data = data.Substring(offset).TrimStart(); offset = ImportParser.IndexOfWhiteSpace(data); if (offset >= 0 && offset < data.Length) { result.Checksum = data.Substring(0, offset).Trim().Trim('"'); result.FilePath = data.Substring(offset).Trim().Trim('"'); } } return(result); }
public static IEnumerable <ImportItem> Parse(String value) { if (String.IsNullOrWhiteSpace(value)) { throw new ArgumentOutOfRangeException(nameof(value), "No content to parse as import data."); } Int32 line = 0; foreach (String data in value.Split(new String[] { Environment.NewLine }, StringSplitOptions.None)) { yield return(ImportParser.ParseLine(++line, data)); } }