就是讲c# 在内存中实现比如类型的转换 内部是怎么回事的??谁能给点分呀,实在可怜,交易也行呀
解决方案 »
- 关于C#中调用C++编写的DLL的问题
- [求助]DevExpress的TextEdit控件使用正则表达式后无法输入中文
- 请高手帮忙翻译下
- 关于SaveFileDialog文件名中小数点的问题
- 哈哈,新手本人的二十一点终于熬制成功,请帮忙优化一下代码。
- c#调用c写的dll时DllNotfoundexception的错误
- C# MsChart的TwipsToChartPart的问题
- 高手解决System.ArgumentException: Parameter is not valid问题
- 使用tlbImp生成了com的包装器,其中有一个c风格的字符串,包装器将其包装为string,那么就有问题了……(请进来看)
- 关于打印中坐标点的问题。
- 关于方法Graphics.GetHdc()
- return calss
.net内部有unsafe code但是一般禁用的
如果你用int*, 就是把指向的那块内存当作int32来读取,
如果你用float* ,就是把那块内存当作float来读取.所以,类型转换, 只是用不同的处理规则来进行处理内存而已.同一块内存,用不同的指针来读取,会有不同的结果.编码问题也是类似.
比如假设内存中FF00FF00FF00
如果是t_char*宽字符类型,能正常读取出来, 但如果你用char*,就读个ff,它就没有了. 因为C语言"字符串"规则是\0为结束符.
虽然这里FF00是宽字符时的一个字母,但由于我们用了char*,规则不同,它出错.