In C++, using boost::interprocess you can define a boost::interprocess::basic_string which is basically an abstraction over a string that's stored in a Memory Mapped File. You can seamlessly use it like any other string in your application (assuming of course you take care of thread safety).
Is there any equivalent library/nuget package/piece of code for C#?