Переход от интерполяции к string.format вызывает странные ошибки форматирования текстаC#

Место общения программистов C#
Ответить
Anonymous
 Переход от интерполяции к string.format вызывает странные ошибки форматирования текста

Сообщение Anonymous »

В одном из наших объектов данных C# есть поле «примечания», которое изначально было создано в сопоставителе на основе свойств исходного объекта:

Код: Выделить всё

.ForMember(dest => dest.note, opt => opt.MapFrom(src => new string[] { $"Field 1: {src.Field1}\r\nField 2: {src.Field2}" }))
Однако теперь существует требование, чтобы несколько мест могли последовательно создавать одну и ту же строку, поэтому я изменил его на использование string.Format:

Код: Выделить всё

const string TextTemplate = "Field 1: {0}\r\nField 2: {1}";
// other fields
.ForMember(dest => dest.note, opt => opt.MapFrom(src => string.Format(TextTemplate, src.Field1, src.Field2))
Строка передается через два разных конечных приложения. Один из них по-прежнему правильно форматирует текст, а другой добавляет возврат каретки между каждым символом, т.е.
F

i

e

l

d
1

:
И так включено.
Есть ли что-нибудь другое в способе, которым string.Format строит строку с помощью интерполяции строк, что могло бы вызвать это. Есть ли другой способ вставить нужные значения, чтобы избежать этого?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ing-errors
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»