Рейтинг:
2
JOAT-MON
Вы можете попробовать обернуть свои строки в цитаты:
IEnumerable<string> query =
(
from row in dt.AsEnumerable()
select row.Field<string>("ID")
+ ", \""
+ row.Field<string>("Text")
+ "\""
).Distinct();
Кроме того, поскольку вы включаете запятую в свой запрос выбора, я не думаю, что вам нужно будет разбивать строку перед ее написанием.
Рейтинг:
1
Michael Haephrati
Решение, которое я нашел для подобных проблем, состояло в том, чтобы вставить символ спецификации в файл .CSV-файл для указания его кодировки.
CSV и символ спецификации - CSV[^]
Если бы вы даже вставили символ юникода в файл блокнота и попытались сохранить его, вы бы увидели предупреждение о том, что содержимое файла будет потеряно, то же самое происходит и с файлом .CSV, который в целом является обычным текстовым файлом. Кодировка по умолчанию-ASCII, и вам нужно изменить ее на UTF-8.
Richard Deeming
Добавление спецификации в файл не изменит того факта, что запятая в строке без кавычек по-прежнему будет рассматриваться как разделитель, разделяющий поле на два.
А какой фильтр вы используете в списке вопросов, если сверху появился вопрос из 2010 года?!
Michael Haephrati
Ричард, я сообщил об этом как об ошибке https://www.codeproject.com/suggestions.aspx?msg=5475847#xx5475847xx-да.
Эти вопросы появились в верхней части моего списка!
Пожалуйста, смотрите мой скриншот 2018-01-12__7_.png (549,9 КБ)
Как вы можете видеть, этот вопрос появляется в верхней части моего списка, и единственными фильтрами, которые я вижу, являются: "активный" (поэтому этот вопрос все еще помечен как активный) и "Юникод"
Richard Deeming
Ну, он появляется в верхней части вашего списка сейчас потому что он был обновлен вашим ответом. :)
Не похоже, что вопрос был отредактирован, и, похоже, не было никаких решений, которые были бы удалены, что является основной причиной, по которой он появился бы в списке "последние".
Если он показывался на первых нескольких страницах списков "активных" или "неотвеченных" до вашего ответа, то я подозреваю, что там может скрываться ошибка.
Michael Haephrati
.. и все же я получил его в первую очередь. Я определенно не искал старых вопросов
Richard Deeming
Определенно похоже на жука.
Patrice T
Просто интересно. Планируете ли вы ответить на все старые вопросы, которые появляются в верхней части списка?
В ваших последних 6 ответах 5 вопросов относятся к возрасту около года.
Вы должны проверить даты вопросов, прежде чем публиковать ответ.
Michael Haephrati
Если я нахожу их интересными, то да!
Patrice T
Я думаю, вы знаете, что получите downvotes.
Michael Haephrati
Спасибо за предупреждение... Нет ничего плохого в том, чтобы отвечать на старые вопросы. Если вы считаете, что эти вопросы не должны быть там, удалите их.
Patrice T
Когда автор не приходил сюда ни разу за 8 лет, можно поспорить, что он даже не помнит, как задавал этот вопрос, и ваш ответ тоже не принесет пользы.
Michael Haephrati
Да, я согласен. Я, конечно, не ищу старые вопросы, и, похоже, есть ошибка, о которой я сообщил. Я проверю дату вопросов, прежде чем ответить на них.