Можно ли использовать один и тот же объект Encoding
из разных тем?Безопасность резьбы и System.Text.Encoding в C#
Под «использованием» Я имею в виду, называя Encoding.GetString()
, Encoding.GetBytes()
и написать какой-нибудь XML с XmlWriter
(создается что-то вроде XmlWriter.Create(myStream, new XmlWriterSettings() { Encoding = myEncoding })
.
На сайте MSDN говорится, что «членов экземпляров не гарантируется поточно» .
Итак, как я могу смело писать два XML-документы одновременно (спасибо !!)
спасибо !! Я просто хотел быть уверенным, потому что не смог найти подтверждения в другом месте. – thaller
Неужели? Статические свойства «Кодирование» являются потокобезопасными, но это не означает, что объекты, подверженные этим свойствам, являются потокобезопасными. Я в ситуации, когда мне приходится кодировать * большое количество строк параллельно, и я не хочу создавать множество экземпляров экземпляра 'Utf8Encoding'. – casperOne
@casperOne: Два вопроса: 1) Знаете ли вы, что 'Encoding.UTF8' на самом деле дает новую кодировку каждый раз; 2) На самом деле вы * измерили *, будет ли проблема создавать новый экземпляр каждый раз, даже если это произойдет? –