为了账号安全,请及时绑定邮箱和手机立即绑定

c# 结构体 数组地址

c# 结构体 数组地址

C#
慕尼黑5688855 2019-05-16 14:10:24
c# 结构体 数组地址
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超5个赞

在C#中也能使用指针, 只不过是没有C++方便而已.

首先在 项目>属性>生成 中 勾选"允许不安全代码"选项.

unsafe// 限定不安全代码范围
{
fixed (byte* bPtr = buffer) // 锁定buffer在内存中的位置. 在出fixed作用域前, buffer的位置不会改变. 这里的bPtr为常量
{

DATA* dPtr = (DATA*)(bPtr + 4);
Console.WriteLine(dPtr->Week);
Console.WriteLine(dPtr->Time);
Console.WriteLine(dPtr->Heading);
}
}



查看完整回答
反对 回复 2019-05-17
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞


C#获取数组首要元素地址代码:
byte[] bytes=new byte[10]{0};//二进制数组
IntPtr ptr=Marshal.AllocHGlobal(bytes.Length);
Marshal.Copy(bytes, 0, ptr, bytes.Length);
//此时可以把ptr做为指针传入
C#(读做C-sharp)编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。
C#是事件驱动的,完全面向对象的可视化编程语言,可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。



查看完整回答
反对 回复 2019-05-17
?
繁花如伊

TA贡献2012条经验 获得超12个赞

List<student> list= new List<student>();
for(int i=4;i<buffer.length;i++)
{
list.Add(buffer[i]);

}

list就是你要的数据



查看完整回答
反对 回复 2019-05-17
  • 3 回答
  • 0 关注
  • 387 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信