5

在C++中,使用boost :: interprocess,你可以定義一個boost :: interprocess :: basic_string,它基本上是一個存儲在內存映射文件中的字符串的抽象。你可以像應用程序中的任何其他字符串一樣無縫地使用它(假設當然你要考慮到線程安全性)。是否有一個C#等效於boost :: interprocess :: basic_string?

C#中是否有任何等價的庫/ nuget包/一段代碼?

+0

該Boost類沒有什麼特別適合MMF。 C++中的字符串只是一場噩夢,每個不重要的庫都被迫添加自己的庫,因爲它不能依賴另一個的實現細節。不要重複那個錯誤,使用Encoding.GetBytes()。 –

+0

@HansPassant但是我可以使用一個在MMF中分配該字符串的boost :: interprocess :: allocator,甚至可以將這些字符串放在存儲在MMF中的數據結構中,例如boost :: interprocess :: map或boost: :進程間:: vector的。我在C#中尋找類似的抽象,抽象出處理流。 –

回答

1

不。但是,即使可以透明地實現,C#中的字符串也是不可變的。所以我不認爲像這樣的圖書館會非常有用。

相關問題