Строка str.Replace("\"\"","\"");
заменит ВСЕ вхождения кавычки в строку. Это не js, где заменяет только первое совпадение, поэтому цикл while здесь лишний.
Александр, и в этом случае это не верное решение. А если там будет 100 кавычек подряд? Ваше решение будет 50 раз в цикле удалять по 2 кавычки. Это решается регуляркой.
var pattern = "\"+";
var regex = new Regex(pattern);
var target = "\"";
var result = regex.Replace(str, target);