protected static string ToText(StringBuilder stringBuilder, ref CsvValueReader reader) { var text = stringBuilder.ToString(); stringBuilder.Clear(); reader = new CsvValueReader(); return(text); }
static IEnumerable <string> SplitCsv(this string csv) { var stringBuilder = new StringBuilder(); var reader = new CsvValueReader(); foreach (var character in csv) { var itemText = reader.Read(stringBuilder, character, ref reader); if (itemText != null) { yield return(itemText); } } yield return(stringBuilder.ToString()); }
public virtual string Read(StringBuilder stringBuilder, char character, ref CsvValueReader reader) { if (character == Separator) { return(ToText(stringBuilder, ref reader)); } if (character == doubleQuoration) { reader = new CsvValueInDoubleQuotationReader(); } else { stringBuilder.Append(character); } return(null); }
public override string Read(StringBuilder stringBuilder, char character, ref CsvValueReader reader) { if (character == Separator) { if (readingDoubleQuotation) { return(ToText(stringBuilder, ref reader)); } stringBuilder.Append(character); } else if (character == doubleQuoration) { if (readingDoubleQuotation) { stringBuilder.Append(character); } readingDoubleQuotation = !readingDoubleQuotation; } else { stringBuilder.Append(character); } return(null); }
public ValueMapper() { factory = new MapperFactory(); propReader = new PropertyReader(); valueReader = new CsvValueReader(); }