【发布时间】:2011-07-22 04:10:50
【问题描述】:
new String(char*) 和 Marshal.PtrToStringUni(IntPtr) 之间有什么区别,除了一个明显的事实,一个是 char*,一个是 IntPtr?我什么时候应该使用哪个?
我记得大约几年前在使用构造函数时遇到了一个真的随机访问违规,它花费了大量时间来追踪,而当我使用 PtrToStringUni 时它就消失了.也许这不是真正的原因,我不知道,但似乎是。
不过,我从来没有弄清楚有什么区别。有什么想法吗?
编辑:
This question 回答了我的大部分问题;但是:我的访问违规是否有任何解释,还是因为其他原因?
【问题讨论】:
-
@adontz:哦,哇,你说得对——尽管这并不能解释访问冲突。我会编辑。
标签: c# .net string marshalling