void glInterleavedArrays(uint format, int stride, void * pointer);
private static extern void glInterleavedArrays(uint format, int stride, int[] pointer);
public static T2[] Arr2Arr<T1, T2>(T1[] from)
where T1: struct
where T2 :struct
{
int byteNum = from.Length * from[0].Sizeof();
T2 testByte = new T2();
dynamic dFrom = from;
dynamic dTo = new T2[byteNum / testByte.Sizeof()];
IntPtr ptr = Marshal.AllocHGlobal(byteNum);
Marshal.Copy(dFrom, 0, ptr, from.Length);
Marshal.Copy(ptr, dTo, 0, dTo.Length);
return dTo;
}
public unsafe static T2[] Arr2Arr<T1, T2>(T1[] from, void * pFrom)
where T1 : struct
where T2 : struct
{
int byteNum = from.Length * from[0].Sizeof();
T2 testByte = new T2();
dynamic dTo = new T2[byteNum / testByte.Sizeof()];
IntPtr ptr = new IntPtr(pFrom);
Marshal.Copy(ptr, dTo, 0, dTo.Length);
return dTo;
}
public static T2[] Arr2Arr2<T1, T2>(T1[] from)
where T1 : struct
where T2 : struct
{
var gch = GCHandle.Alloc(from,GCHandleType.Pinned);
IntPtr ptr = gch.AddrOfPinnedObject();
int byteNum = from.Length * from[0].Sizeof();
T2 testByte = new T2();
dynamic dTo = new T2[byteNum / testByte.Sizeof()];
Marshal.Copy(ptr, dTo, 0, dTo.Length);
gch.Free();
return dTo;
}
public static T2[] Arr2Arr3<T1, T2>(T1[] from)
where T1 : struct
where T2 : struct
{
int byteNum = from.Length * from[0].Sizeof();
T2 testByte = new T2();
T2[] dTo = new T2[byteNum / testByte.Sizeof()];
Array.Copy(from, dTo, dTo.Length);
return dTo;
}
public static T2[] Arr2Arr4<T1, T2>(T1[] from)
where T1 : struct
where T2 : struct
{
int byteNum = from.Length * from[0].Sizeof();
T2 testByte = new T2();
T2[] dTo = new T2[byteNum / testByte.Sizeof()];
Buffer.BlockCopy(from, 0, dTo, 0, byteNum);
return dTo;
}
byte[] from = new byte[100];
from[0] = 1;
from[1] = 1;
var last = DateTime.Now;
for (int i = 0; i < 2000000; i++)
{
。。。
}
Console.WriteLine((DateTime.Now- last).TotalMilliseconds);
//sizeof扩展方法internal static class ExFunc
{
public static int Sizeof(this ValueType t)
{
return Marshal.SizeOf(t);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有