Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# StringBuilder的不安全代码和固定语句_C#_Marshalling_Stringbuilder_Unsafe_Fixed - Fatal编程技术网

C# StringBuilder的不安全代码和固定语句

C# StringBuilder的不安全代码和固定语句,c#,marshalling,stringbuilder,unsafe,fixed,C#,Marshalling,Stringbuilder,Unsafe,Fixed,我想知道如何将字符串或StringBuilder传递给按参数输出字符串的C函数。我在这个问题上找到了一个很好的答案 但我有一个疑问。任何人都可以向我解释为什么垃圾收集器在导入的函数执行期间不重新定位(托管)StringBuilder实例?有关使用COM和p/Invoke时如何封送字符串和StringBuilder的详细信息,请参阅。它没有明确说明为什么使用模式是安全的,但确实表明支持并预期使用string和StringBuilder进行P/Invoke。我怀疑编组系统负责在外部调用期间固定缓冲

我想知道如何将字符串或StringBuilder传递给按参数输出字符串的C函数。我在这个问题上找到了一个很好的答案

但我有一个疑问。任何人都可以向我解释为什么垃圾收集器在导入的函数执行期间不重新定位(托管)StringBuilder实例?

有关使用COM和p/Invoke时如何封送字符串和StringBuilder的详细信息,请参阅。它没有明确说明为什么使用模式是安全的,但确实表明支持并预期使用string和StringBuilder进行P/Invoke。我怀疑编组系统负责在外部调用期间固定缓冲区,防止GC重新定位缓冲区