相关疑难解决方法(0)

为什么我们不能在C#中进行IntPtr和UIntPtr算术?

这是一个看起来很简单的问题:

鉴于本地大小的整数是最好的算法,为什么不C#(或任何其他.NET语言)支持算术与本地大小IntPtrUIntPtr

理想情况下,您可以编写如下代码:

for (IntPtr i = 1; i < arr.Length; i += 2) //arr.Length should also return IntPtr
{
    arr[i - 1] += arr[i]; //something random like this
}
Run Code Online (Sandbox Code Playgroud)

这样它就可以在32位和64位平台上运行.(目前,您必须使用long.)


编辑:

没有使用它们作为指针(甚至没有提到"指针"这个词)!它们可以被视为native intMSIL和intptr_tC中的C#对应物stdint.h- 它们是整数,而不是指针.

.net c# intptr

6
推荐指数
2
解决办法
1406
查看次数

标签 统计

.net ×1

c# ×1

intptr ×1