【发布时间】:2014-04-07 20:10:38
【问题描述】:
是否有可能以某种方式转换由 fixed() 语句创建的指针的类型?
情况是这样的:
我有一个字节数组,我想对其进行迭代,但是我希望将值视为 int,因此使用 int* 而不是 byte*。
下面是一些示例代码:
byte[] rawdata = new byte[1024];
fixed(int* ptr = rawdata) //this fails with an implicit cast error
{
for(int i = idx; i < rawdata.Length; i++)
{
//do some work here
}
}
无需在迭代中进行强制转换就可以做到这一点吗?
【问题讨论】:
-
为什么要在 C# 中使用指针?要对此进行迭代,您可以简单地使用
for循环。 -
同意。尽管从一开始就添加您的意图有助于提供答案并避免问题:)