Экранировать двойную кавычку в форматированной строке С#

У меня есть StringBuilder, к которому я пытаюсь добавить отформатированную строку.

К сожалению, обычный метод экранирования двойных кавычек, похоже, не работает.

 StringBuilder sb = New StringBuilder();
 sb.AppendFormat("{0},\"{1}\" and \"{2}\",{3}", stringVariable, stringToQuote, otherStringToQuote, anotherStringVariable)
 sb.AppendLine();


 //resulting text: 
 //item0, item1 and "item2", item3

Странно то, что элемент {1} не цитируется, а элемент {2} - в кавычки. Что здесь происходит?

ИЗМЕНИТЬ:

Дополнительная информация, если это уместно: я записываю содержимое StringBuilder в файл csv (с разделителями-запятыми). Приведенный выше вызов AppendFormat добавляет одну строку в csv.


person AJSmyth    schedule 26.03.2014    source источник
comment
побег после {2} находится на неправильной стороне кавычки   -  person Matthew Mcveigh    schedule 26.03.2014
comment
Он отлично работает на моей стороне. Можете ли вы попробовать еще раз, когда вы исправили опечатку?   -  person Sean Duggan    schedule 26.03.2014
comment
Я попробовал еще раз, все еще не повезло. Это сводит меня с ума.   -  person AJSmyth    schedule 26.03.2014
comment
Стандартная штука в программировании, когда код работает у кого-то, а у тебя нет, сотри нашу папку с бинарниками и перекомпилируй. Иногда у вас остается устаревшая копия.   -  person Sean Duggan    schedule 27.03.2014


Ответы (1)


у тебя опечатка в

"{0},\"{1}\" and \"{2}"\,{3}"

пытаться

"{0},\"{1}\" and \"{2}\",{3}"
person Raja Nadar    schedule 26.03.2014
comment
Теперь исправлено. Однако проблема была не в этом (была допущена ошибка, когда я заменил содержимое после копирования моего кода). - person AJSmyth; 26.03.2014